Haavatavus Linuxi Netfilteri alamsüsteemis

Netfilteris, Linuxi tuumaal võimalusi pakkuda ja muuta võrgupakette, on avastatud haavatavus (CVE-2021-22555), mis võimaldab kohalikel kasutajatel saada süsteemis root-privileege, sealhulgas töötades isoleeritud konteineris. Testimiseks on valmistatud tööprototüüp eksploidist, mis ületab KASLR, SMAP ja SMEP kaitsemehhanisme. Haavatavuse avastaja sai Google'ilt 20 000 dollari suuruse tasu Kubernetes'i konteinerite isoleerimise ületamise meetodi avastamise eest kCTF klastris.

Probleem ilmneb alates tuumast 2.6.19, mis ilmus 15 aastat tagasi, ja seda põhjustab viga IPT_SO_SET_REPLACE ja IP6T_SO_SET_REPLACE käitlejates, mis viib mälupuhvri ülevooluni, kui spetsiaalselt vormindatud parameetreid saadetakse setsockopt'i kutsumise kaudu ühilduvusrežiimis. Tavalistes tingimustes saab kutsumist compat_setsockopt() teha ainult root-kasutaja, kuid rünnaku teostamiseks vajalikud volitused võivad samuti olla saadud privileegideta kasutaja poolt süsteemides, kus on lubatud kasutajanimede ruumide (user namespaces) tugi.

Kasutaja võib luua konteineri eraldi root-kasutajaga ja sealt haavatavust ära kasutada. Näiteks on «user namespaces» vaikimisi lubatud Ubuntu ja Fedora jaoks, kuid ei ole aktiveeritud Debianis ja RHELis. Patch haavatavuse parandamiseks võeti kasutusele Linuxi tuumas 13. aprillil. Pakettide uuendused on juba koostatud Debian, Arch Linuxi ja Fedora projektide poolt. Ubuntu, RHEL ja SUSE jaoks on uuendused ettevalmistamisel.

Probleem tekib funktsioonis xt_compat_target_from_user() vale mälu suuruse arvestuse tõttu, kui salvestatakse tuuma struktuure 32-bitise esitusvormi teisendamisest 64-bitise esitusvormi. Viga võimaldab kirjutada neli nullbaiti mis tahes positsioonile, mis asub eraldatud puhvriväljast väljaspool, 0x4C nihke piiril. Antud võimalus oli piisav, et luua eksploit, mis võimaldas saavutada root-privilegie — läbi m_list->next näidiku tühjendamise msg_msg struktuuris loodi tingimused mälust vabastamise järel andmetele juurde pääsemiseks (use-after-free), mida kasutati seejärel aadresside teabe saamiseks ja teiste struktuuride muutmiseks süsteemikõne msgsnd() manipuleerimise kaudu.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster