Glibc ื›ื•ืœืœ ืชื™ืงื•ืŸ ืœืคื’ื™ืขื•ืช memcpy ืฉื”ื•ื›ื ื” ืขืœ ื™ื“ื™ ืžืคืชื—ื™ Aurora OS

ืžืคืชื—ื™ ืžืขืจื›ืช ื”ื”ืคืขืœื” ื”ืกืœื•ืœืจื™ืช Aurora (ืžื–ืœื’ ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” Sailfish ืฉืคื•ืชื—ื” ืขืœ ื™ื“ื™ ื—ื‘ืจืช Open Mobile Platform) ืฉื™ืชืคื• ืกื™ืคื•ืจ ื—ื•ืฉืคื ื™ ืขืœ ื—ื™ืกื•ืœ ืคื’ื™ืขื•ืช ืงืจื™ื˜ื™ืช (CVE-2020-6096) ื‘-Glibc, ื”ืžื•ืคื™ืข ืจืง ื‘ืคืœื˜ืคื•ืจืžืช ARMv7. ืžื™ื“ืข ืขืœ ื”ืคื’ื™ืขื•ืช ื ื—ืฉืฃ ืขื•ื“ ื‘ื—ื•ื“ืฉ ืžืื™, ืืš ืขื“ ื”ื™ืžื™ื ื”ืื—ืจื•ื ื™ื ืœื ื”ื™ื• ืชื™ืงื•ื ื™ื ื–ืžื™ื ื™ื, ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉื”ื—ื•ืœืฉื•ืช ืฉื”ื•ืงืฆื” ืจืžื” ื’ื‘ื•ื”ื” ืฉืœ ืกื›ื ื” ื•ื™ืฉ ืื‘ ื˜ื™ืคื•ืก ืขื•ื‘ื“ ืฉืœ ื ื™ืฆื•ืœ ื”ืžืืคืฉืจ ืœืš ืœืืจื’ืŸ ื‘ื™ืฆื•ืข ืงื•ื“ ื‘ืขืช ืขื™ื‘ื•ื“ ื ืชื•ื ื™ื ื”ืžืขื•ืฆื‘ื™ื ื‘ืฆื•ืจื” ืžืกื•ื™ืžืช ื‘ืคื•ื ืงืฆื™ื•ืช memcpy() ื•- memmove(). ืชื™ืงื•ื ื™ ื—ื‘ื™ืœื” ืขื‘ื•ืจ ื“ื‘ื™ืืŸ ะธ ืื•ื‘ื•ื ื˜ื• ื˜ืจื ืคื•ืจืกืžื• ื•ื”ืคื’ื™ืขื•ืช ื ื•ืชืจื” ืœืœื ืชื™ืงื•ืŸ ื‘ืžืฉืš ื›ืžืขื˜ ื—ื•ื“ืฉื™ื™ื ืžืจื’ืข ื”ื—ืฉื™ืคื” ืœืฆื™ื‘ื•ืจ ื•ื—ืžื™ืฉื” ื—ื•ื“ืฉื™ื ืžืจื’ืข ื”ื”ื•ื“ืขื” ืœืžืคืชื—ื™ Glibc.

ื”ืคื’ื™ืขื•ืช ื”ืชื‘ื˜ืื” ื‘ื™ื™ืฉื•ื memcpy() ื•- memmove() ื‘ืฉืคืช assembly ืขื‘ื•ืจ ARMv7 ื•ื ื’ืจืžื” ืžืขื™ื‘ื•ื“ ืฉื’ื•ื™ ืฉืœ ืขืจื›ื™ื ืฉืœื™ืœื™ื™ื ืฉืœ ื”ืคืจืžื˜ืจ ืฉืงื•ื‘ืข ืืช ื’ื•ื“ืœ ื”ืื–ื•ืจ ื”ืžื•ืขืชืง. ื‘ืขื™ื•ืช ื‘ืคื™ืชื•ื— ืชื™ืงื•ื ื™ื ื”ื—ืœื• ื›ืืฉืจ ื—ื‘ืจื•ืช SUSE ะธ ืจื“ ื”ืื˜ ื”ื•ื“ื™ืขื• ื›ื™ ื”ืคืœื˜ืคื•ืจืžื•ืช ืฉืœื”ื ืื™ื ืŸ ืžื•ืฉืคืขื•ืช ืžื”ื‘ืขื™ื”, ืžื›ื™ื•ื•ืŸ ืฉื”ืŸ ืื™ื ืŸ ื‘ื•ื ื•ืช ืœืžืขืจื›ื•ืช ARMv32 ืฉืœ 7 ืกื™ื‘ื™ื•ืช, ื•ืœื ื”ืฉืชืชืคื• ื‘ื™ืฆื™ืจืช ืชื™ืงื•ืŸ. ื ืจืื” ืฉื”ืžืคืชื—ื™ื ืฉืœ ื”ืคืฆื•ืช ืžืฉื•ื‘ืฆื•ืช ืจื‘ื•ืช ื”ืกืชืžื›ื• ืขืœ ืฆื•ื•ืช Glibc, ื•ื’ื ืœื ื”ื™ื• ืžืขื•ืจื‘ื™ื ื‘ืื•ืคืŸ ืคืขื™ืœ ื‘ื”ื›ื ืช ื”ืชื™ืงื•ืŸ.

ืืคืฉืจื•ืช ืชื™ืงื•ืŸ ื›ื“ื™ ืœื—ืกื•ื ืืช ื”ื‘ืขื™ื”, Huawei ื”ืฆื™ืขื” ื›ืžืขื˜ ืžื™ื“ ืฉื”ื™ื ืชื ืกื” ืœื”ื—ืœื™ืฃ ืืช ื”ื•ืจืื•ืช ื”ื”ืจื›ื‘ื” ื”ืคื•ืขืœื•ืช ืขื ืื•ืคืจื ื“ื™ื ื—ืชื•ืžื™ื (bge ื•-blt) ื‘ืื ืœื•ื’ื™ื ืœื ื—ืชื•ืžื™ื (blo ื•-bhs). ืžื ื”ืœื™ Glibc ืคื™ืชื—ื• ืงื‘ื•ืฆื” ืฉืœ ื‘ื“ื™ืงื•ืช ืœื‘ื“ื™ืงืช ืžืฆื‘ื™ ืฉื’ื™ืื” ืฉื•ื ื™ื, ื•ืœืื—ืจ ืžื›ืŸ ื”ืชื‘ืจืจ ื›ื™ ื”ืชื™ืงื•ืŸ ืฉืœ Huawei ืื™ื ื• ืžืชืื™ื ื•ืœื ืขื™ื‘ื“ ืืช ื›ืœ ื”ืฉื™ืœื•ื‘ื™ื ื”ืืคืฉืจื™ื™ื ืฉืœ ื ืชื•ื ื™ ืงืœื˜.

ืžื›ื™ื•ื•ืŸ ืฉืœ-Aurora OS ื™ืฉ ืžื‘ื ื” ืฉืœ 32 ืกื™ื‘ื™ื•ืช ืขื‘ื•ืจ ARM, ื”ืžืคืชื—ื™ื ืฉืœื” ื”ื—ืœื™ื˜ื• ืœืกื’ื•ืจ ืืช ื”ืคื’ื™ืขื•ืช ื‘ืขืฆืžื ื•ืœื”ืฆื™ืข ืคืชืจื•ืŸ ืœืงื”ื™ืœื”. ื”ืงื•ืฉื™ ื”ื™ื” ืฉื”ื™ื” ืฆื•ืจืš ืœื›ืชื•ื‘ ืžื™ืžื•ืฉ ืฉืคืช assembly ื™ืขื™ืœ ืฉืœ ื”ืคื•ื ืงืฆื™ื” ื•ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืคืฉืจื•ื™ื•ืช ืฉื•ื ื•ืช ืœืืจื’ื•ืžื ื˜ื™ื ืงืœื˜. ื”ื™ื™ืฉื•ื ื ื›ืชื‘ ืžื—ื“ืฉ ื‘ืืžืฆืขื•ืช ื”ื•ืจืื•ืช ืœื ื—ืชื•ืžื•ืช. ืชื™ืงื•ืŸ ื”ืชื‘ืจืจ ืฉื”ื•ื ืงื˜ืŸ, ืื‘ืœ ื”ื‘ืขื™ื” ื”ืขื™ืงืจื™ืช ื”ื™ื™ืชื” ืฉืžื™ืจื” ืขืœ ืžื”ื™ืจื•ืช ื‘ื™ืฆื•ืข ื•ื”ื™ืžื ืขื•ืช ืžื™ืจื™ื“ื” ื‘ื‘ื™ืฆื•ืขื™ื ืฉืœ ืคื•ื ืงืฆื™ื•ืช memcpy ื•- memmove, ืชื•ืš ืฉืžื™ืจื” ืขืœ ืชืื™ืžื•ืช ืœื›ืœ ืฉื™ืœื•ื‘ื™ ืขืจื›ื™ ื”ืงืœื˜.

ื‘ืชื—ื™ืœืช ื™ื•ื ื™ ื”ื•ื›ื ื• ืฉืชื™ ื’ืจืกืื•ืช ืฉืœ ื”ืชื™ืงื•ืŸ, ืฉืขื‘ืจื• ืืช ืžืกื’ืจืช ื”ื‘ื“ื™ืงื” ืฉืœ ืžื ื”ืœื™ ื”-Glibc ื•ืืช ื—ื‘ื™ืœืช ื”ื‘ื“ื™ืงื•ืช ื”ืคื ื™ืžื™ืช ืฉืœ Aurora. ื‘-3 ื‘ื™ื•ื ื™ ื ื‘ื—ืจื” ืื—ืช ื”ืืคืฉืจื•ื™ื•ืช ื• ื ืฉืœื— ืœืจืฉื™ืžืช ื”ืชืคื•ืฆื” ืฉืœ Glibc. ืฉื‘ื•ืข ืžืื•ื—ืจ ื™ื•ืชืจ
ื”ื™ื” ืžื•ึผืฆึธืข ืขื•ื“ ืชื™ืงื•ืŸ ื“ื•ืžื” ื‘ื’ื™ืฉื”, ืฉืชื™ืงืŸ ื‘ืขื™ื” ื‘ื™ื™ืฉื•ื multiarch, ืฉ-Huawei ื ื™ืกืชื” ื‘ืขื‘ืจ ืœืชืงืŸ. ื”ื‘ื“ื™ืงื” ืืจื›ื” ื—ื•ื“ืฉ ื• ืจื™ืฉื•ื ืžืฉืคื˜ื™ ื‘ืฉืœ ื—ืฉื™ื‘ื•ืช ื”ืชื™ืงื•ืŸ.
ืชื™ืงื•ื ื™ 8 ื‘ื™ื•ืœื™ ื”ืชืงื‘ืœื• ืœืกื ื™ืฃ ื”ืจืืฉื™ ืฉืœ ื”ืžื”ื“ื•ืจื” ื”ืงืจื•ื‘ื” ืฉืœ glibc 2.32. ื”ื™ื™ืฉื•ื ื›ื•ืœืœ ืฉื ื™ ืชื™ืงื•ื ื™ื - ะฟะตั€ะฒั‹ะน ืขื‘ื•ืจ ื™ื™ืฉื•ื multiarch ืฉืœ memcpy ืขื‘ื•ืจ ARMv7, ื• ืฉื ื™ ืœืžื™ืžื•ืฉ ืฉืคืช ื”ื”ืจื›ื‘ื” ื”ื›ืœืœื™ืช ืฉืœ memcpy() ื•- memmove() ืขื‘ื•ืจ ARM.

ื”ื‘ืขื™ื” ืžืฉืคื™ืขื” ืขืœ ืžื™ืœื™ื•ื ื™ ืžื›ืฉื™ืจื™ ARMv7 ื”ืžืจื™ืฆื™ื ืœื™ื ื•ืงืก, ื•ืœืœื ื”ืขื“ื›ื•ืŸ ื”ืžืชืื™ื, ื”ื‘ืขืœื™ื ื ืžืฆืื™ื ื‘ืกื™ื›ื•ืŸ ื‘ืขืช โ€‹โ€‹ื—ื™ื‘ื•ืจื ืœืจืฉืช (ื ื™ืชืŸ ืœืชืงื•ืฃ ืฉื™ืจื•ืชื™ื ื•ืืคืœื™ืงืฆื™ื•ืช ื ื’ื™ืฉื™ื ืœืจืฉืช ื”ืžืงื‘ืœื™ื ื ืชื•ื ื™ ืงืœื˜ ืœืœื ื”ื’ื‘ืœื•ืช ื’ื•ื“ืœ). ืœื“ื•ื’ืžื”, ื”ื ื™ืฆื•ืœ ืฉื”ื›ื™ื ื• ื”ื—ื•ืงืจื™ื ืฉื–ื™ื”ื• ืืช ื”ืคื’ื™ืขื•ืช ืžืจืื” ื›ื™ืฆื“ ืœืชืงื•ืฃ ืฉืจืช HTTP ืžื•ื‘ื ื” ื‘ืžืขืจื›ืช ืžื™ื“ืข ืœืจื›ื‘ ืขืœ ื™ื“ื™ ืฉืœื™ื—ืช ื‘ืงืฉืช GET ื’ื“ื•ืœื” ืžืื•ื“ ื•ืœืงื‘ืœ ื’ื™ืฉืช ืฉื•ืจืฉ ืœืžืขืจื›ืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”