Linuxi tuumas tuvastati kaks haavatavust, mis sarnanevad mĂ”ned pĂ€evad tagasi avalikustatud Copy Fail haavatavusele, kuid ilmnevad teiste alamsĂŒsteemide, nagu xfrm-ESP ja RxRPC, kaudu. Haavatavuste seeriale on antud koodnimi Dirty Frag (mĂ”nikord mainitakse ka Copy Fail 2). Need haavatavused vĂ”imaldavad Ă”igusteta kasutajal saada root-kasutaja Ă”igused, kirjutades ĂŒle protsessi andmed lehekĂŒljecache'is. Eksploit on saadaval, mis töötab kĂ”igis uusimates Linuxi jaotustes. Haavatavuse teave on avalikustatud enne paranduste avaldamist, kuid probleemide blokeerimiseks on olemas mööndusmeetod.
Dirty Frag hĂ”lmab kahte erinevat haavatavust: esimene xfrm-ESP moodulis, mida kasutatakse IPsec-i krĂŒpteerimisoperatsioonide kiirendamiseks ESP (Encapsulating Security Payload) protokolli abil, ja teine RxRPC draiveris, mis rakendab AF_RXRPC soklite perekonda ning vastavat RPC-protokolli, mis töötab UDP ĂŒle. Iga haavatavus eraldi vĂ”imaldab saavutada root-kasutaja Ă”igusi. Haavatavus xfrm-ESP-s on Linuxi tuumas ilmnenud alates 2017. aasta jaanuarist, samas kui RxRPC haavatavus on tuntud alates 2023. aasta juunist. MĂ”lemad probleemid on pĂ”hjustatud optimeerimisest, mis vĂ”imaldab otse kirjutada lehekĂŒljecache'i.
xfrm-ESP haavatavuse kasutamiseks peab kasutajal olema Ă”igused nimede ruumide loomiseks, ja RxRPC haavatavuse kasutamiseks peab olema vĂ”imalus laadida kernelimoodul rxrpc.ko. NĂ€iteks Ubuntu's on AppArmore'i reeglites ebaĂ”igustatud kasutajatele keelatud nimede ruumide loomine, kuid vaikimisi laaditakse moodul rxrpc.ko. MĂ”nes jaotuses puudub moodul rxrpc.ko, kuid nimede ruumide loomine ei ole blokeeritud. Probleemi avastanud teadlane valmistas ette kombineeritud eksploidi, mis suudab rĂŒnnata sĂŒsteemi lĂ€bi mĂ”lema haavatavuse, vĂ”imaldades probleemist kasu saada kĂ”igis peamistes jaotustes. Eksploidi töö on kinnitatud Ubuntu 24.04.4 versiooniga koos kerneliga 6.17.0-23, RHEL 10.1 koos kerneliga 6.12.0-124.49.1, openSUSE Tumbleweed koos kerneliga 7.0.2-1, CentOS Stream 10 koos kerneliga 6.12.0-224, AlmaLinux 10 koos kerneliga 6.12.0-124.52.3 ja Fedora 44 koos kerneliga 6.19.14-300.
Nagu Copy Fail haavatavusega, on probleemi xfrm-ESP ja RxRPC puhul pĂ”hjustatud andmete dekrĂŒptimise teostamisest kohapeal, kasutades funktsiooni splice(), mis edastab andmeid failide descriptorite ja torude (pipe) vahel ilma kopeerimiseta, viidates elementidele lehe vahemĂ€lus. Kirjutamise operatsiooni offset'id arvutati ilma vajalike kontrollideta, mis arvestaksid otseviidet elementidele lehe vahemĂ€lus, mis vĂ”imaldas saata spetsiaalselt vormindatud pĂ€ringute kaudu ĂŒle kirjutada 4 baiti valitud offset'is ja muuta lehe vahemĂ€lu sisu mis tahes failist.
KĂ”ik failide lugemisoperatsioonid tagastavad esmalt sisu lehe vahe mĂ€lu kaudu. Kui lehe vahe mĂ€lu andmed muutuvad, toovad failide lugemisoperatsioonid kaasa mitte tegelikult salvestatud teabe, vaid muudetud andmed. Haavatavuse Ă€rakasutamine seisneb lehe vahe mĂ€lu muutmises suid rooti lipuga tĂ€itmiseks ette nĂ€htud faili jaoks. NĂ€iteks root-Ă”iguste hankimiseks vĂ”ib lugeda tĂ€itmisfaili /usr/bin/su, et see paigutada lehe vahe mĂ€llu, seejĂ€rel saavutada enda koodi asendamine selles failis laaditud sisu sees. JĂ€rgmine utiliidi âsuâ kĂ€ivitamine toob kaasa selle, et mĂ€lu laaditakse mitte originaalfail, vaid muudetud koopia lehe vahe mĂ€lust.
Haavatavuste teabe avalikustamine ja koordineeritud vĂ€rskenduste vĂ€ljalaskmine oli planeeritud 12. maiks, kuid teabe lekkimise tĂ”ttu tuli haavatavuse andmed avalikustada enne parandusfailide vĂ€ljaandmist. Aprilli lĂ”pus avaldati netdevi avalikus postitusloendis rxrpc, ipsec ja xfrm patchid, ilma et oleks mainitud, et need on seotud haavatavuse kĂ”rvaldamisega. 5. mail nĂ”ustus IPsec alamsĂŒsteemi hooldaja netdevi git-repositooriumis xfrm-esp mooduli parandusettepanekuga, mille kirjeldus kordas suuresti probleemi, mis viis Copy Fail haavatavuse tekkimiseni algif_aead moodulis. Ăks turva-uuringute teostaja oli selle paranduse vastu huvi tunnenud, suutis luua funktsionaalse eksploidimise ja avaldas selle, teadmata, et probleemi kohta teabe avalikustamine oli 12. maieni keelatud.
Linuxi tuuma ja paketivĂ€rskendusi distributsioonides pole veel avaldatud, kuid probleemide lahendamiseks on saadaval plaastrid â xfrm-esp ja rxrpc. CVE-identifikaatoreid ei ole mÀÀratud, mis raskendab pakettide vĂ€rskenduste jĂ€lgimist distributsioonides. Kaitseks saab tuumamoodulite esp4, esp6 ja rxrpc laadimise blokeerida: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
Allikas: opennet.ru
