Linuxi tuumas on tuvastatud kaks haavatavust, mis oma olemuselt sarnanevad mĂ”ni pĂ€ev tagasi avaldatud Copy Fail haavatavusele, kuid esinevad teistes alamsĂŒsteemides â xfrm-ESP ja RxRPC. Haavatavustele on antud koodnimi Dirty Frag (esineb ka nimetuse Copy Fail 2). Haavatavused vĂ”imaldavad mitteprivilegeeritud kasutajal saada root-Ă”igusi, kirjutades andmed protsessi lehekĂŒljecache'i. Eksploit on saadaval ja töötab kĂ”ikides uusimates Linuxi distributsioonides. Teave haavatavuse kohta avalikustati enne paranduste avaldamist, kuid probleemile on olemas ringtee, mis takistab selle esinemist.
Dirty Frag katab kahte erinevat haavatavust: esimene xfrm-ESP moodulis, mis on kasutusel IPsec krĂŒpteerimisoperatsioonide kiirendamiseks ESP (Encapsulating Security Payload) protokolli abil, ja teine RxRPC draiveris, mis rakendab AF_RXRPC soklite perekonda ja samanimelist RPC-protokolli, mis töötab UDP peal. Iga haavatavus eraldi vĂ”imaldab saavutada root-Ă”igusi. xfrm-ESP haavatavus ilmnes Linuxi tuumas jaanuarist 2017, samas kui RxRPC haavatavus on esinenud alates juunist 2023. MĂ”lemad probleemid tulenevad optimeerimistest, mis lubavad otse kirjutada lehekĂŒlje cache'i.
xfrm-ESP haavatavuse Ă€ra kasutamiseks peab kasutajal olema Ă”igused nimede loomiseks, samas kui RxRPC haavatavuse Ă€rakasutamiseks peab olema vĂ”imalus laadida tuuma moodulit rxrpc.ko. NĂ€iteks Ubuntu sĂŒsteemis keelab AppArmori reeglid mitteprivilegeeritud kasutajal nimede loomise, kuid vaikimisi laaditakse moodul rxrpc.ko. MĂ”nes distributsioonis puudub moodul rxrpc.ko, kuid nimede loomine ei ole blokeeritud. Probleemi avastanud uurija valmistab ette kombineeritud eksploit, mis suudab rĂŒnnata sĂŒsteemi mĂ”lema haavatavuse kaudu, vĂ”imaldades probleemist kasu lĂ”igata kĂ”ikides suuremates distributsioonides. Eksploidi töökindlust on kinnitatud Ubuntu 24.04.4, kernel 6.17.0-23, RHEL 10.1 kernel 6.12.0-124.49.1, openSUSE Tumbleweed kernel 7.0.2-1, CentOS Stream 10 kernel 6.12.0-224, AlmaLinux 10 kernel 6.12.0-124.52.3 ja Fedora 44 kernel 6.19.14-300 puhul.
Nagu Copy Fail haavatavuse korral, on xfrm-ESP ja RxRPC probleemid seotud andmete dekodeerimise teostamisega koha peal, kasutades splice() funktsiooni, mis edastab andmeid failides ja torudes (pipe) kopeerimata, edastades viiteid lehe vahemiku elemendile. Kirjutamise toimingu nihked arvutati ilma nÔuetekohaste kontrollideta, mis arvestaksid otse viidatud elementide kasutamist lehe vahemikus, mis vÔimaldas spetsiaalselt vormistatud pÀringute saatmise kaudu nullida 4 baiti valitud nihkes ja muuta lehe vahemikus oleva iga faili sisu.
KÔik failist lugemise toimingud tagastavad esmalt sisu lehe vahemikust. Andmete muutmise korral lehe vahemikus toovad failist lugemise toimingud tagasi mitte tegelikult kettale salvestatud teabe, vaid muudatud andmed. Haavatavuse Àrakasutamine seisneb executible faili lehe vahemiku muutmises koos suid root lipuga. NÀiteks root Ôiguste saamiseks saab lugeda '/usr/bin/su' executible faili selle paigutamiseks lehe vahemikku, pÀrast mida saab saavutada oma koodi asendamise selle faili lehe vahemikku laaditud sisuga. JÀrgmine 'su' utiliidi kÀivitamine toob mÀlu ei originaali executible faili kettalt, vaid muudatud koopia lehe vahemikust.
Teave haavatavuste kohta ja koordineeritud vĂ€rskenduste vabastamine probleemide lahendamiseks oli kavandatud 12. maiks, kuid teabe lekke tĂ”ttu tuli haavatavuse detailid avaldada enne paranduste avaldamist. Aprilli lĂ”pus avaldati netdev avalikus postitusnimekirjas rxrpc, ipsec ja xfrm plaastrid, ilma, et oleks mainitud, et need on seotud haavatavuste kĂ”rvaldamisega. 5. mail aktsepteeris IPsec alamsĂŒsteemi hoidja git-repositooriumis netdev muudatust xfrm-esp mooduli soovitatud parandusega, mille kirjeldus kordas suuresti Copy Fail haavatavuse probleemi kirjeldust algif_aead moodulis. Ăks turva-uuringute ekspert huvitas seda parandust, suutis luua töökorras eksploiidi ja avaldas selle, teadmata, et probleemist teabe avalikustamiseks oli kehtestatud embargo kuni 12. maini.
Linuxi tuuma ja tuumapakettide paranduste uuendused ei ole veel avaldatud, kuid probleemide lahendamiseks on saadaval parandavad plaastrid â xfrm-esp ja rxrpc. CVE-identifikaatoreid ei ole mÀÀratud, mis raskendab pakettide uuenduste jĂ€lgimist distributsioonides. Kaitseks vĂ”ib ajutiselt blokeerida tuumamoodulite esp4, esp6 ja rxrpc laadimise: 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
