Linuxi tuumasAvastati haavatavus, mis sarnaneb Copy Fail, Dirty Frag ja Fragnesia haavatavustega, mis võimaldab privileege mitteomaval kasutajal saada root õigused, kirjutades andmeid lehekülje vahemälu. Haavatavusele on antud koodnimi DirtyDecrypt (probleem on tuntud ka nime all DirtyCBC). Eksploidile on saadaval prototüüp.
CVE-Identifikaatorit eksploidile ei ole märgitud, vaid öeldud, et uurijad tuvastasid probleemi 9. mail, pärast mida teavitasid nad tuuma arendajaid, kes vastasid, et nende leid dubleerib teise raporti juba parandatud haavatavusest. Kuna parandav plaastr on juba tuumas, otsustasid uurijad avaldada arendatud eksploid. Eksploidis sisalduva kirjelduse kohaselt kasutatakse seal CVE-2026-31635 haavatavust, mille parandamine võeti tuuma vastu aprillis ja mis kuulub 7.0.0 versiooni koosseisu, mis vormiti 18. aprilli väljaandes 6.18.23. Probleem ilmneb alates tuumast 6.16.
Nii nagu Dirty Frag haavatavuste seeria puhul, on uus haavatavus olemas RxRPC draiveris, mis rakendab AF_RXRPC soklite gruppi ja sama nime all tuntud RPC protokolli, mis töötab UDP peal. Probleem tuleneb andmete suuruse kontrollimise veast funktsioonis rxgk_verify_response() — kodeerimist oli näidatud kui «if (auth_len > len)» asemel «if (auth_len < len)», mille tulemuseks oli andmete saatmine funktsiooni rxgk_decrypt_skb() suurusega, mis ületas lubatud piire. Kui käidi läbi funktsioon rxgk_decrypt_skb(), toimus andmete dekrüpteerimine muudatuste asendamisega otse lehekülje vahemälus, et vältida liigset vahemälu. Vale suuruse kontrollimise tõttu tekkis võimalus kirjutada andmeid lehekülje vahemälus valitud nihkega üle.
Haavatavuse ekspluateerimine seisneb programmifaili lugemises, millel on suid root lipp (selle hõivamiseks lehekülje vahemälu) ja programmikoode osa asendamisel lehekülje vahemälus koodiga, et käivitada \/usr\bin\/sh. Programme järgmine käivitamine toob kaasa selle, et mällu laaditakse mitte originaalne teostamiseks mõeldud fail, vaid muudetud koopia lehekülje vahemälust. Eksploidis on suid programmideks kasutamiseks ette nähtud "\/usr\/bin\/su", "\/bin\/su", "\/usr\/bin\/mount", "\/usr\/bin\/passwd" ja "\/usr\/bin\/chsh".
Selle nõrkuse kasutamiseks peab tuumamoodulil olema lubatud CONFIG_RXGK valik ning kärgsalvestuseks peab olema saadaval tuumamoodul rxrpc.ko (mõnes süsteemis seda ei koostatakse). Haavatavuste kõrvaldamise staatust distributsioonides saab hinnata järgmiste lehtede põhjal: Debian, Ubuntu, SUSE/openSUSE, RHEL, Arch, Fedora. Kaitseks võib kasutada meetodit, mille puhul blokeeritakse rxrpc tuumamooduli laadimine:
sh -c «printf 'install rxrpc /bin/false\n' > /etc/modprobe.d/dirtydecrypt.conf; rmmod rxrpc 2>/dev/null; true»
Lisaks võib märkida, et Linuxi tuumaarendajate postitusloendis on avaldatud patše, mis täielikult keelavad crypto API (AF_ALG) optimeerimised, mis kasutavad otse leheküljete salvestusse pöördumist dekrüpteerimisel 'skcipher' ja 'aead' algoritmide abil. Optimeerimised välistavad liigse andmete puhverdamise, kuid loovad tõsiste haavatavuste tekkimise riski. Eeldatakse, et nende keelamine põhjustab vaid väikest jõudluse langust seoses täiendava kopeerimisoperatsiooniga eraldi puhvrisse. Patšid on aktsepteeritud crypto API süsteemi hooldaja poolt ja on lisatud 'cryptodev' harusse, kus arendatakse tulevaste Linuxi tuumade peamiste versioonide toimetamise võimalusi.
Allikas: opennet.ru
