Haavatavus Linux Netfilteri tuumaprotokollis

Netfilteris, Linuxi südamiku alamsüsteem, mida kasutatakse võrgupakettide filtreerimiseks ja muutmiseks, tuvastati haavatavus (CVE-2021-22555), mille abil saab kohaliku kasutaja saada süsteemis root privileege, sealhulgas ka isoleeritud konteineris. Testimiseks on valmis töötav eksploitatsiooni prototüüp, mis möödub KASLR, SMAP ja SMEP kaitsemehhanismidest. Haavatavuse avastanud teadlane sai Google'ilt 20 000 dollari suuruse preemia, et paljastada Kubernetes konteinerite isoleerimisest möödasõidutee kCTF klastris.

Probleem ilmneb alates 2.6.19 versioonist, mis ilmus 15 aastat tagasi, ja on põhjustatud IPT_SO_SET_REPLACE ja IP6T_SO_SET_REPLACE töötlemisvigadest, mis toovad kaasa puhverserveri ülevoolu spetsiaalselt vormindatud parameetrite saatmise kaudu compat režiimis setsockopt'i kutsumise ajal. Tavalistes tingimustes saab compat_setsockopt() funktsiooni kutsuda ainult root kasutaja, kuid rünnakuks vajalikud volitused võivad samuti saada mitteprivilegeeritud kasutaja süsteemides, kus on lubatud kasutaja identiteedi ruumide (user namespaces) tugi.

Kasutaja saab luua konteineri eraldi root-kasutajaga ja selle kaudu ära kasutada haavatavust. Näiteks on „kasutaja nimed” vaikimisi lubatud Ubuntu ja Fedora ja mitte aktiveeritud Debianis ja RHEL-is. Parandus haavatavuse jaoks lisati Linuxi tuuma 13. aprillil. Pakettide uuendused on juba koostatud Debian, Arch Linux ja Fedora projektides. Ubuntu, RHEL ja SUSE uuendused on ettevalmistamisel.

Probleem tekkis funktsioonis xt_compat_target_from_user() vigase mälusuuruse arvutamise tõttu tuuma struktuuride salvestamisel pärast 32-bitise kujutise üleminekut 64-bitisele. Vigade tõttu on võimalik kirjutada neli null-baiti mis tahes positsioonile väljaspool määratud mälupuhvrit, mida piirab offset 0x4C. Antud võimalus osutus piisavaks, et luua eksploit, mis võimaldab saada root-oigus — puhastades m_list->next näitajat msg_msg struktuuris loodi tingimused mälust vabastamise järgselt andmete juurde pääsemiseks (use-after-free), mida kasutati hiljem andmeaadresside hankimiseks ja teiste struktuuride muutmiseks süsteemi kutsungi msgsnd() kaudu.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster