เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™ e2fsck เป€เบกเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป„เบ”เป€เบฃเบฑเบเบ—เปเบฃเบตเบ—เบตเปˆเบญเบญเบเปเบšเบšเบกเบฒเบžเบดเป€เบชเบ”

ะ’ ัƒั‚ะธะปะธั‚ะต e2fsck, ะฟะพัั‚ะฐะฒะปัะตะผะพะน ะฒ ัะพัั‚ะฐะฒะต ะฟะฐะบะตั‚ะฐ e2fsprogs, เบเปเบฒเบ™เบปเบ” เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญ (CVE-2019-5188), ะฟะพะทะฒะพะปััŽั‰ะฐั ะดะพะฑะธั‚ัŒัั ะฒั‹ะฟะพะปะฝะตะฝะธั ะบะพะดะฐ ะทะปะพัƒะผั‹ัˆะปะตะฝะฝะธะบะฐ ะฟั€ะธ ะฒั‹ะฟะพะปะฝะตะฝะธะธ ะฟั€ะพะฒะตั€ะบะธ ั„ะฐะนะปะพะฒะพะน ัะธัั‚ะตะผั‹, ัะพะดะตั€ะถะฐั‰ะตะน ัะฟะตั†ะธะฐะปัŒะฝั‹ะผ ะพะฑั€ะฐะทะพะผ ะพั„ะพั€ะผะปะตะฝะฝั‹ะต ะบะฐั‚ะฐะปะพะณะธ. ะะฐะปะธั‡ะธะต ัƒัะทะฒะธะผะพัั‚ะธ ะฟะพะดั‚ะฒะตั€ะถะดะตะฝะพ ะฒ ะฒั‹ะฟัƒัะบะฐั… ั 1.43.3 ะฟะพ 1.45.4. ะฃัะทะฒะธะผะพัั‚ัŒ ัƒัั‚ั€ะฐะฝะตะฝะฐ ะฒ ะพะฑะฝะพะฒะปะตะฝะธะธ e2fsck 1.45.5. ะ’ ะดะธัั‚ั€ะธะฑัƒั‚ะธะฒะฐั… ะฟั€ะพะฑะปะตะผะฐ ะฟะพะบะฐ ะพัั‚ะฐั‘ั‚ัั ะฝะตะธัะฟั€ะฐะฒะปะตะฝะฝะพะน (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

ะฃัะทะฒะธะผะพัั‚ัŒ ะฒั‹ะทะฒะฐะฝะฐ ะพัˆะธะฑะบะพะน ะฒ ั„ัƒะฝะบั†ะธั mutate_name() ะธะท ั„ะฐะนะปะฐ rehash.c, ะฟั€ะธะผะตะฝัะตะผะพะน ะฟั€ะธ ะฟะตั€ะตัั‚ั€ะพะตะฝะธะธ ัะฒัะทะฐะฝะฝั‹ั… ั ะบะฐั‚ะฐะปะพะณะพะผ ั…ััˆ-ั‚ะฐะฑะปะธั†, ะพะฑะตัะฟะตั‡ะธะฒะฐัŽั‰ะธั… ัะพะฟะพัั‚ะฐะฒะปะตะฝะธะต ั ะบะฐั‚ะฐะปะพะณะพะผ ะฒัะตั… ะฝะฐั…ะพะดัั‰ะธั…ัั ะฒ ะฝั‘ะผ ั„ะฐะนะปะพะฒ. ะŸะพะฒั€ะตะถะดะตะฝะธะต ัะฒัะทะฐะฝะฝะพะน ั ะบะฐั‚ะฐะปะพะณะพะผ ัั‚ั€ัƒะบั‚ัƒั€ั‹ hash_entry ะผะพะถะตั‚ ะฟั€ะธะฒะตัั‚ะธ ะบ ะทะฐะฟะธัะธ ะดะฐะฝะฝั‹ั… ะฐั‚ะฐะบัƒัŽั‰ะตะณะพ ะฒ ะพะฑะปะฐัั‚ัŒ ะฒะฝะต ะฒั‹ะดะตะปะตะฝะฝะพะณะพ ะฑัƒั„ะตั€ะฐ. ะ’ ัะปัƒั‡ะฐะต ะฒั‹ัะฒะปะตะฝะธั ะฒ ั…ััˆ-ั‚ะฐะฑะปะธั†ะต ะฟั€ะธะฒัะทะบะธ ะบ ะบะฐั‚ะฐะปะพะณัƒ ะฝะตัะบะพะปัŒะบะธั… ั„ะฐะนะปะพะฒ ั ะพะดะธะฝะฐะบะพะฒั‹ะผ ะธะผะตะฝะตะผ, ัƒั‚ะธะปะธั‚ะฐ e2fsck ะฟะตั€ะตะธะผะตะฝะพะฒั‹ะฒะฐะตั‚ ะฟะพะฒั‚ะพั€ััŽั‰ะธะตัั ั„ะฐะนะปั‹ ั ะดะพะฑะฐะฒะปะตะฝะธะตะผ ะบ ะธะผะตะฝะธ ~0, ~1 ะธ ั‚.ะฟ. ะ”ะปั ะฒั€ะตะผะตะฝะฝะพะณะพ ั…ั€ะฐะฝะตะฝะธั ะฝะพะฒะพะณะพ ะธะผะตะฝะธ ะฟั€ะธ ะฟะพะดะพะฑะฝะพะผ ะฟะตั€ะตะธะผะตะฝะพะฒะฐะฝะธะธ ะฒ ัั‚ะตะบะต ะฒั‹ะดะตะปัะตั‚ัั ะฑัƒั„ะตั€, ั€ะฐะทะผะตั€ะพะผ 256 ะฑะฐะนั‚.

ะ ะฐะทะผะตั€ ะบะพะฟะธั€ัƒะตะผั‹ั… ะดะฐะฝะฝั‹ั… ะพะฟั€ะตะดะตะปัะตั‚ัั ะฒั‹ั€ะฐะถะตะฝะธะตะผ ยซentry->name_len & 0xffยป, ะฝะพ ะทะฝะฐั‡ะตะฝะธะต entry->name_len ะทะฐะณั€ัƒะถะฐะตั‚ัั ะธะท ัั‚ั€ัƒะบั‚ัƒั€ั‹ ะฝะฐ ะดะธัะบะต, ะฐ ะฝะต ะฒั‹ั‡ะธัะปัะตั‚ัั ะฝะฐ ะพัะฝะพะฒะต ั„ะฐะบั‚ะธั‡ะตัะบะพะณะพ ั€ะฐะทะผะตั€ะฐ ะธะผะตะฝะธ. ะ•ัะปะธ ั€ะฐะทะผะตั€ ั€ะฐะฒะตะฝ ะฝัƒะปัŽ, ั‚ะพ ะธะฝะดะตะบั ะผะฐััะธะฒะฐ ะฟั€ะธะฝะธะผะฐะตั‚ ะทะฝะฐั‡ะตะฝะธะต -1 ะธ ัะพะทะดะฐัŽั‚ัั ัƒัะปะพะฒะธั ะดะปั ั†ะตะปะพั‡ะธัะปะตะฝะฝะพะณะพ ะฟะตั€ะตะฟะพะปะฝะตะฝะธั ั‡ะตั€ะตะท ะฝะธะถะฝัŽัŽ ะณั€ะฐะฝะธั†ัƒ ะฑัƒั„ะตั€ะฐ (integer underflow) ะธ ะฟะตั€ะตะทะฐะฟะธัะธ ะดั€ัƒะณะธั… ะดะฐะฝะฝั‹ั… ะฒ ัั‚ะตะบะต ะทะฝะฐั‡ะตะฝะธะตะผ ยซ~0ยป. ะ”ะปั 64-ั€ะฐะทั€ัะดะฝั‹ั… ัะธัั‚ะตะผ ัะบัะฟะปัƒะฐั‚ะฐั†ะธั ัƒัะทะฒะธะผะพัั‚ะธ ะพั†ะตะฝะธะฒะฐะตั‚ัั ะบะฐะบ ะผะฐะปะพะฒะตั€ะพัั‚ะฝะฐั ะธ ั‚ั€ะตะฑัƒัŽั‰ะฐั ะพั‚ััƒั‚ัั‚ะฒะธั ะพะณั€ะฐะฝะธั‡ะตะฝะธะน ะฝะฐ ั€ะฐะทะผะตั€ ัั‚ะตะบะฐ (ulimit -s unlimited). ะ”ะปั 32-ั€ะฐะทั€ัะดะฝั‹ั… ัะธัั‚ะตะผ ัะบัะฟะปัƒะฐั‚ะฐั†ะธั ัั‡ะธั‚ะฐะตั‚ัั ะฒะพะทะผะพะถะฝะพะน, ะฝะพ ั€ะตะทัƒะปัŒั‚ะฐั‚ ัะธะปัŒะฝะพ ะทะฐะฒะธัะธั‚ ะพั‚ ั‚ะพะณะพ, ะบะฐะบ ะฑั‹ะป ัะพะฑั€ะฐะฝ ะธัะฟะพะปะฝัะตะผั‹ะน ั„ะฐะนะป ะบะพะผะฟะธะปัั‚ะพั€ะพะผ.

ะ”ะปั ัะพะฒะตั€ัˆะตะฝะธั ะฐั‚ะฐะบะธ ะทะปะพัƒะผั‹ัˆะปะตะฝะฝะธะบัƒ ะฝะตะพะฑั…ะพะดะธะผะพ ะพะฟั€ะตะดะตะปั‘ะฝะฝั‹ะผ ะพะฑั€ะฐะทะพะผ ะฟะพะฒั€ะตะดะธั‚ัŒ ะดะฐะฝะฝั‹ะต ะฒ ั€ะฐะทะดะตะปะต ั ะคะก ext2, ext3 ะธะปะธ ext4. ะขะฐะบ ะบะฐะบ ะดะฐะฝะฝะฐั ะพะฟะตั€ะฐั†ะธั ั‚ั€ะตะฑัƒะตั‚ ะฝะฐะปะธั‡ะธั ะฟั€ะธะฒะธะปะตะณะธะน ััƒะฟะตั€ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั, ัƒัะทะฒะธะผะพัั‚ัŒ ะฟั€ะตะดัั‚ะฐะฒะปัะตั‚ ัƒะณั€ะพะทัƒ ะฟั€ะธ ะฟั€ะพะฒะตั€ะบะต ัƒั‚ะธะปะธั‚ะพะน e2fsck ะฒะฝะตัˆะฝะธั… ะฝะฐะบะพะฟะธั‚ะตะปะตะน ะธะปะธ ะฟะพะปัƒั‡ะตะฝะฝั‹ั… ะธะทะฒะฝะต ะพะฑั€ะฐะทะพะฒ ะคะก.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™