ะฃัะทะฒะธะผะพัั‚ัŒ ะฒ ะฟะพะดัะธัั‚ะตะผะต ัะดั€ะฐ Linux Netfilter

ะ’ Netfilter, ะฟะพะดัะธัั‚ะตะผะต ัะดั€ะฐ Linux, ะธัะฟะพะปัŒะทัƒะตะผะพะน ะดะปั ั„ะธะปัŒั‚ั€ะฐั†ะธะธ ะธ ะผะพะดะธั„ะธะบะฐั†ะธะธ ัะตั‚ะตะฒั‹ั… ะฟะฐะบะตั‚ะพะฒ, ะฒั‹ัะฒะปะตะฝะฐ ัƒัะทะฒะธะผะพัั‚ัŒ (CVE-2021-22555), ะฟะพะทะฒะพะปััŽั‰ะฐั ะปะพะบะฐะปัŒะฝะพะผัƒ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŽ ะฟะพะปัƒั‡ะธั‚ัŒ ะฟั€ะธะฒะธะปะตะณะธะธ root ะฒ ัะธัั‚ะตะผะต, ะฒ ั‚ะพะผ ั‡ะธัะปะต ะฝะฐั…ะพะดัััŒ ะฒ ะธะทะพะปะธั€ะพะฒะฐะฝะฝะพะผ ะบะพะฝั‚ะตะนะฝะตั€ะต. ะ”ะปั ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั ะฟะพะดะณะพั‚ะพะฒะปะตะฝ ั€ะฐะฑะพั‡ะธะน ะฟั€ะพั‚ะพั‚ะธะฟ ัะบัะฟะปะพะธั‚ะฐ, ะพะฑั…ะพะดัั‰ะธะน ะผะตั…ะฐะฝะธะทะผั‹ ะทะฐั‰ะธั‚ั‹ KASLR, SMAP ะธ SMEP. ะ˜ััะปะตะดะพะฒะฐั‚ะตะปัŒ, ะฒั‹ัะฒะธะฒัˆะธะน ัƒัะทะฒะธะผะพัั‚ัŒ, ะฟะพะปัƒั‡ะธะป ะพั‚ Google ะฒะพะทะฝะฐะณั€ะฐะถะดะตะฝะธะต, ั€ะฐะทะผะตั€ะพะผ 20 ั‚ั‹ััั‡ ะดะพะปะปะฐั€ะพะฒ, ะทะฐ ะฒั‹ัะฒะปะตะฝะธะต ะผะตั‚ะพะดะฐ ะพะฑั…ะพะดะฐ ะธะทะพะปัั†ะธะธ ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ Kubernetes ะฒ ะบะปะฐัั‚ะตั€ะต kCTF.

ะŸั€ะพะฑะปะตะผะฐ ะฟั€ะพัะฒะปัะตั‚ัั ะฝะฐั‡ะธะฝะฐั ั ัะดั€ะฐ 2.6.19, ะฒั‹ะฟัƒั‰ะตะฝะฝะพะณะพ 15 ะปะตั‚ ะฝะฐะทะฐะด, ะธ ะฒั‹ะทะฒะฐะฝะฐ ะพัˆะธะฑะบะพะน ะฒ ะพะฑั€ะฐะฑะพั‚ั‡ะธะบะฐั… IPT_SO_SET_REPLACE ะธ IP6T_SO_SET_REPLACE, ะฟั€ะธะฒะพะดัั‰ะตะน ะบ ะฟะตั€ะตะฟะพะปะฝะตะฝะธัŽ ะฑัƒั„ะตั€ะฐ ะฟั€ะธ ะพั‚ะฟั€ะฐะฒะบะต ัะฟะตั†ะธะฐะปัŒะฝะพ ะพั„ะพั€ะผะปะตะฝะฝั‹ั… ะฟะฐั€ะฐะผะตั‚ั€ะพะฒ ั‡ะตั€ะตะท ะฒั‹ะทะพะฒ setsockopt ะฒ ั€ะตะถะธะผะต compat. ะ’ ะพะฑั‹ั‡ะฝั‹ั… ัƒัะปะพะฒะธัั… ะฒั‹ะทะพะฒ compat_setsockopt() ะผะพะถะตั‚ ะฒั‹ะฟะพะปะฝะธั‚ัŒ ั‚ะพะปัŒะบะพ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปัŒ root, ะฝะพ ะฝะตะพะฑั…ะพะดะธะผั‹ะต ะดะปั ัะพะฒะตั€ัˆะตะฝะธั ะฐั‚ะฐะบะธ ะฟะพะปะฝะพะผะพั‡ะธั ั‚ะฐะบะถะต ะผะพะณัƒั‚ ะฑั‹ั‚ัŒ ะฟะพะปัƒั‡ะตะฝั‹ ะฝะตะฟั€ะธะฒะธะปะตะณะธั€ะพะฒะฐะฝะฝั‹ะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะผ ะฒ ัะธัั‚ะตะผะฐั… ั ะฒะบะปัŽั‡ั‘ะฝะฝะพะน ะฟะพะดะดะตั€ะถะบะพะน ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒ ะธะผั‘ะฝ ะธะดะตะฝั‚ะธั„ะธะบะฐั‚ะพั€ะพะฒ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน (user namespaces).

ะŸะพะปัŒะทะพะฒะฐั‚ะตะปัŒ ะผะพะถะตั‚ ัะพะทะดะฐั‚ัŒ ะบะพะฝั‚ะตะนะฝะตั€ ั ะพั‚ะดะตะปัŒะฝั‹ะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะผ root ะธ ะธะท ะฝะตะณะพ ัะบัะฟะปัƒะฐั‚ะธั€ะพะฒะฐั‚ัŒ ัƒัะทะฒะธะผะพัั‚ัŒ. ะะฐะฟั€ะธะผะตั€, ยซuser namespacesยป ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะฒะบะปัŽั‡ั‘ะฝ ะฒ Ubuntu ะธ Fedora, ะฝะพ ะฝะต ะฐะบั‚ะธะฒะธั€ะพะฒะฐะฝ ะฒ Debian ะธ RHEL. ะŸะฐั‚ั‡ ั ะธัะฟั€ะฐะฒะปะตะฝะธะตะผ ัƒัะทะฒะธะผะพัั‚ะธ ะฟั€ะธะฝัั‚ ะฒ ัะพัั‚ะฐะฒ ัะดั€ะฐ Linux 13 ะฐะฟั€ะตะปั. ะžะฑะฝะพะฒะปะตะฝะธั ะฟะฐะบะตั‚ะพะฒ ัƒะถะต ัั„ะพั€ะผะธั€ะพะฒะฐะฝั‹ ะฟั€ะพะตะบั‚ะฐะผะธ Debian, Arch Linux ะธ Fedora. ะ’ Ubuntu, RHEL ะธ SUSE ะพะฑะฝะพะฒะปะตะฝะธั ะฝะฐ ัั‚ะฐะดะธะธ ะฟะพะดะณะพั‚ะพะฒะบะธ.

ะŸั€ะพะฑะปะตะผะฐ ะฒะพะทะฝะธะบะฐะตั‚ ะฒ ั„ัƒะฝะบั†ะธะธ xt_compat_target_from_user() ะธะท-ะทะฐ ะฝะตะบะพั€ั€ะตะบั‚ะฝะพะณะพ ั€ะฐัั‡ั‘ั‚ะฐ ั€ะฐะทะผะตั€ะฐ ะฟะฐะผัั‚ะธ ะฟั€ะธ ัะพั…ั€ะฐะฝะตะฝะธะธ ัั‚ั€ัƒะบั‚ัƒั€ ัะดั€ะฐ ะฟะพัะปะต ะฟั€ะตะพะฑั€ะฐะทะพะฒะฐะฝะธั ะธะท 32- ะฒ 64-ั€ะฐะทั€ัะดะฝะพะต ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธะต. ะžัˆะธะฑะบะฐ ะฟะพะทะฒะพะปัะตั‚ ะทะฐะฟะธัะฐั‚ัŒ ั‡ะตั‚ั‹ั€ะต ะฝัƒะปะตะฒั‹ั… ะฑะฐะนั‚ะฐ ะฒ ะปัŽะฑัƒัŽ ะฟะพะทะธั†ะธัŽ ะทะฐ ะณั€ะฐะฝะธั†ะตะน ะฒั‹ะดะตะปะตะฝะฝะพะณะพ ะฑัƒั„ะตั€ะฐ, ะพะณั€ะฐะฝะธั‡ะตะฝะฝัƒัŽ ัะผะตั‰ะตะฝะธะตะผ 0x4C. ะฃะบะฐะทะฐะฝะฝะพะน ะฒะพะทะผะพะถะฝะพัั‚ะธ ะพะบะฐะทะฐะปะพััŒ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะดะปั ัะพะทะดะฐะฝะธั ัะบัะฟะปะพะธั‚ะฐ, ะฟะพะทะฒะพะปััŽั‰ะตะณะพ ะดะพะฑะธั‚ัŒัั ะฟะพะปัƒั‡ะตะฝะธั ะฟั€ะฐะฒ root โ€” ั‡ะตั€ะตะท ะพั‡ะธัั‚ะบัƒ ัƒะบะฐะทะฐั‚ะตะปั m_list->next ะฒ ัั‚ั€ัƒะบั‚ัƒั€ะต msg_msg ัะพะทะดะฐะฒะฐะปะธััŒ ัƒัะปะพะฒะธั ะดะปั ะพะฑั€ะฐั‰ะตะฝะธั ะบ ะดะฐะฝะฝั‹ะผ ะฟะพัะปะต ะพัะฒะพะฑะพะถะดะตะฝะธั ะฟะฐะผัั‚ะธ (use-after-free), ั‡ั‚ะพ ะทะฐั‚ะตะผ ะธัะฟะพะปัŒะทะพะฒะฐะปะพััŒ ะดะปั ะฟะพะปัƒั‡ะตะฝะธั ัะฒะตะดะตะฝะธะน ะพะฑ ะฐะดั€ะตัะฐั… ะธ ะธะทะผะตะฝะตะฝะธั ะดั€ัƒะณะธั… ัั‚ั€ัƒะบั‚ัƒั€ ั‡ะตั€ะตะท ะผะฐะฝะธะฟัƒะปัั†ะธัŽ ั ัะธัั‚ะตะผะฝั‹ะผ ะฒั‹ะทะพะฒะพะผ msgsnd().

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

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