DirtyDecrypt je další zranitelnost třídy Copy Fail, která poskytuje root oprávnění Linux

V jádru Linux Byla identifikována zranitelnost podobná zranitelnostem Copy Fail, Dirty Frag a Fragnesia, která umožňuje neprivilegovanému uživateli získat root oprávnění přepsáním dat v mezipaměti stránek. Zranitelnost má kódové označení DirtyDecrypt (problém je také označován jako DirtyCBC). K dispozici je prototyp zneužití.

Popis exploitu nezmiňuje identifikátor CVE, pouze uvádí, že výzkumníci problém objevili 9. května a poté jej nahlásili vývojářům jádra, kteří odpověděli, že jejich objev duplikuje další hlášení o již opravené zranitelnosti. Vzhledem k tomu, že záplata s opravou je již v jádře zahrnuta, výzkumníci se rozhodli exploit, který vyvinuli, zveřejnit. Soudě dle popisu exploitu zneužívá zranitelnost CVE-2026-31635, jejíž oprava byla do jádra přijata v dubnu a zahrnuta do větve 7.0.0 a verze 6.18.23 vydané 18. dubna. Problém existuje již od verze jádra 6.16.

Stejně jako u série zranitelností Dirty Frag existuje nová zranitelnost v ovladači RxRPC, který implementuje rodinu soketů AF_RXRPC a protokol RPC stejného jména, běžící přes UDP. Problém je způsoben chybou při kontrole velikosti dat ve funkci rxgk_verify_response(). Místo kontroly „if (auth_len > len)“ kód specifikoval „if (auth_len < len)“, což vedlo k předávání dat větších než povolených rozměrů do funkce rxgk_decrypt_skb(). Po spuštění funkce rxgk_decrypt_skb() byla data dešifrována přímým vložením změn do mezipaměti stránek, aby se zabránilo zbytečnému ukládání do vyrovnávací paměti. Kvůli nesprávné kontrole velikosti bylo možné přepsat data v mezipaměti stránek na zadaném offsetu.

Zneužití této zranitelnosti spočívá v načtení programového souboru s kořenovým příznakem suid (aby se zajistilo jeho umístění do mezipaměti stránek) a nahrazení části programového kódu v mezipaměti stránek kódem pro spuštění /usr/bin/sh. Následné spuštění programu povede k načtení upravené kopie z mezipaměti stránek do paměti, nikoli původního spustitelného souboru z disku. Zranitelnost podporuje použití "/usr/bin/su", "/bin/su", "/usr/bin/mount", "/usr/bin/passwd" a "/usr/bin/chsh".

Aby bylo možné tuto zranitelnost zneužít, musí být při sestavování jádra povolena možnost CONFIG_RXGK a modul jádra rxrpc.ko musí být k dispozici pro automatické načítání (na některých systémech se sestavuje). Stav oprav zranitelností v distribucích lze posoudit na těchto stránkách: Debian, Ubuntu, SUSE/openSUSE, RHEL, Arch, Fedora. Jako alternativní řešení můžete zablokovat načítání modulu jádra rxrpc:

sh -c "printf 'install rxrpc /bin/false\n' > /etc/modprobe.d/dirtydecrypt.conf; rmmod rxrpc 2>/dev/null; true"

Dále si můžete všimnout publikace v mailing listu vývojářů jádra Linux Záplaty zcela deaktivují optimalizace v krypto API (AF_ALG), které používají přímý přístup k mezipaměti stránek při dešifrování pomocí algoritmů „skcipher“ a „aead“. Tyto optimalizace eliminují zbytečné ukládání dat do vyrovnávací paměti, ale zavádějí riziko zavedení závažných zranitelností. Očekává se, že jejich deaktivace povede pouze k mírnému snížení výkonu v důsledku dodatečné operace kopírování do samostatné vyrovnávací paměti. Záplaty byly přijaty správcem subsystému krypto API a jsou zahrnuty ve větvi „cryptodev“, kde se vyvíjejí funkce pro zahrnutí do budoucích verzí jádra. Linux.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster