ืคื’ื™ืขื•ืช ื‘ืชืช ืžืขืจื›ืช ืœื™ื‘ืช Netfilter ืฉืœ Linux Netfilter

ื–ื•ื”ืชื” ืคื’ื™ืขื•ืช (CVE-2021-22555) ื‘-Netfilter, ืชืช-ืžืขืจื›ืช ืฉืœ ืœื™ื‘ืช ืœื™ื ื•ืงืก ื”ืžืฉืžืฉืช ืœืกื™ื ื•ืŸ ื•ืฉื™ื ื•ื™ ืžื ื•ืช ืจืฉืช, ื”ืžืืคืฉืจืช ืœืžืฉืชืžืฉ ืžืงื•ืžื™ ืœืงื‘ืœ ื”ืจืฉืื•ืช ืฉื•ืจืฉ ื‘ืžืขืจื›ืช, ื›ื•ืœืœ ื‘ื–ืžืŸ ืฉื”ื•ื ื ืžืฆื ื‘ืงื•ื ื˜ื™ื™ื ืจ ืžื‘ื•ื“ื“. ืื‘ ื˜ื™ืคื•ืก ืขื•ื‘ื“ ืฉืœ ื ื™ืฆื•ืœ ื”ืขื•ืงืฃ ืืช ืžื ื’ื ื•ื ื™ ื”ื”ื’ื ื” KASLR, SMAP ื•-SMEP ื”ื•ื›ืŸ ืœื‘ื“ื™ืงื”. ื”ื—ื•ืงืจ ืฉื’ื™ืœื” ืืช ื”ืคื’ื™ืขื•ืช ืงื™ื‘ืœ ืคืจืก ืฉืœ 20 ื“ื•ืœืจ ืžื’ื•ื’ืœ ืขืœ โ€‹โ€‹ื–ื™ื”ื•ื™ ืฉื™ื˜ื” ืœืขืงื•ืฃ ืืช ื”ื‘ื™ื“ื•ื“ ืฉืœ ืžื™ื›ืœื™ Kubernetes ื‘ืืฉื›ื•ืœ kCTF.

ื”ื‘ืขื™ื” ืงื™ื™ืžืช ืžืื– ื”ืœื™ื‘ื” 2.6.19, ืฉืคื•ืจืกืžื” ืœืคื ื™ 15 ืฉื ื™ื, ื•ื”ื™ื ื ื’ืจืžืช ืขืœ ื™ื“ื™ ื‘ืื’ ื‘ืžื˜ืคืœื™ื IPT_SO_SET_REPLACE ื•-IP6T_SO_SET_REPLACE ืฉื’ื•ืจื ืœื’ืœื™ืฉื” ื‘ืžืื’ืจ ื‘ืขืช ืฉืœื™ื—ืช ืคืจืžื˜ืจื™ื ืžืขื•ืฆื‘ื™ื ื‘ืžื™ื•ื—ื“ ื‘ืืžืฆืขื•ืช ืงืจื™ืืช setsockopt ื‘ืžืฆื‘ compat. ื‘ื ืกื™ื‘ื•ืช ืจื’ื™ืœื•ืช, ืจืง ืžืฉืชืžืฉ ื”ืฉื•ืจืฉ ื™ื›ื•ืœ ืœื‘ืฆืข ืงืจื™ืื” ืœ-compat_setsockopt(), ืืš ืืช ื”ื”ืจืฉืื•ืช ื”ื ื“ืจืฉื•ืช ืœื‘ื™ืฆื•ืข ื”ื”ืชืงืคื” ื ื™ืชืŸ ืœืงื‘ืœ ื’ื ืžืฉืชืžืฉ ื—ืกืจ ื”ืจืฉืื•ืช ื‘ืžืขืจื›ื•ืช ืขื ืชืžื™ื›ื” ื‘ืžืจื—ื‘ื™ ืฉืžื•ืช ืžืฉืชืžืฉื™ื ืžื•ืคืขืœื™ื.

ืžืฉืชืžืฉ ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืงื•ื ื˜ื™ื™ื ืจ ืขื ืžืฉืชืžืฉ ืฉื•ืจืฉ ื ืคืจื“ ื•ืœื ืฆืœ ืืช ื”ืคื’ื™ืขื•ืช ืžืฉื. ืœื“ื•ื’ืžื”, "ืžืจื—ื‘ื™ ืฉืžื•ืช ืžืฉืชืžืฉื™ื" ืžื•ืคืขืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื‘ืื•ื‘ื•ื ื˜ื• ื•ื‘ืคื“ื•ืจื”, ืืš ืื™ื ื• ืžื•ืคืขืœ ื‘ื“ื‘ื™ืืŸ ื•ื‘-RHEL. ื”ืชื™ืงื•ืŸ ื”ืžืชืงืŸ ืืช ื”ืคื’ื™ืขื•ืช ืื•ืžืฅ ืœืชื•ืš ืœื™ื‘ืช ืœื™ื ื•ืงืก ื‘-13 ื‘ืืคืจื™ืœ. ืขื“ื›ื•ื ื™ ื—ื‘ื™ืœื•ืช ื›ื‘ืจ ื ื•ืฆืจื• ืขืœ ื™ื“ื™ ื”ืคืจื•ื™ืงื˜ื™ื ืฉืœ ื“ื‘ื™ืืŸ, Arch Linux ื•-Fedora. ื‘ืื•ื‘ื•ื ื˜ื•, RHEL ื•-SUSE, ืขื“ื›ื•ื ื™ื ื ืžืฆืื™ื ื‘ื”ื›ื ื”.

ื”ื‘ืขื™ื” ืžืชืจื—ืฉืช ื‘ืคื•ื ืงืฆื™ื” xt_compat_target_from_user() ืขืงื‘ ื—ื™ืฉื•ื‘ ืฉื’ื•ื™ ืฉืœ ื’ื•ื“ืœ ื”ื–ื™ื›ืจื•ืŸ ื‘ืขืช โ€‹โ€‹ืฉืžื™ืจืช ืžื‘ื ื™ ืœื™ื‘ื” ืœืื—ืจ ื”ืžืจื” ืž-32-bit ืœ-64-bit. ื”ื‘ืื’ ืžืืคืฉืจ ืœื›ืชื•ื‘ ืืจื‘ืขื” ื‘ืชื™ื null ืœื›ืœ ืžื™ืงื•ื ืžืขื‘ืจ ืœืžืื’ืจ ืฉื”ื•ืงืฆื” ืชื—ื•ื ืขืœ ื™ื“ื™ ื”ื™ืกื˜ 0x4C. ื”ืชื›ื•ื ื” ื”ื–ื• ื”ืชื‘ืจืจื” ื›ืžืกืคื™ืงื” ื›ื“ื™ ืœื™ืฆื•ืจ ื ื™ืฆื•ืœ ืฉืืคืฉืจ ืœื”ืฉื™ื’ ื–ื›ื•ื™ื•ืช ืฉื•ืจืฉ - ืขืœ ื™ื“ื™ ื ื™ืงื•ื™ ื”ืžืฆื‘ื™ืข m_list->next ื‘ืžื‘ื ื” msg_msg, ื ื•ืฆืจื• ืชื ืื™ื ืœื’ื™ืฉื” ืœื ืชื•ื ื™ื ืœืื—ืจ ืฉื—ืจื•ืจ ื–ื™ื›ืจื•ืŸ (use-after-free), ืืฉืจ ืฉื™ืžืฉ ืื– ื›ื“ื™ ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ื›ืชื•ื‘ื•ืช ื•ืฉื™ื ื•ื™ื™ื ื‘ืžื‘ื ื™ื ืื—ืจื™ื ื‘ืืžืฆืขื•ืช ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืงืจื™ืืช ื”ืžืขืจื›ืช msgsnd() .

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

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