DirtyDecrypt — egy újabb Copy Fail osztályú sérülékenység, amely root jogokat biztosít a Linuxban

A Linux kerneljében fedeztek fel egy sérülékenységet, amely a Copy Fail, Dirty Frag és Fragnesia sérülékenységekhez hasonlóan lehetővé teszi, hogy egy nem privilegizált felhasználó root jogokat szerezzen azáltal, hogy adatokat ír felül az oldalgyorstárban. A sérülékenység kódneve DirtyDecrypt (a probléma DirtyCBC néven is ismert). Elérhető egy exploit prototípus.

A CVE azonosítót az exploit jegyzetében nem említik, csak annyit jeleztek, hogy a kutatók május 9-én fedezték fel a problémát, majd értesítették a kernel fejlesztőit, akik azt válaszolták, hogy a felfedezésük egy másik, már javított sérülékenységről készült jelentés duplikátuma. Mivel a javítóprogram már be volt építve a kernelbe, a kutatók úgy döntöttek, hogy közzéteszik az általuk kidolgozott exploitot. Az exploit leírása szerint a CVE-2026-31635 sérülékenységet használja, amelynek javítását áprilisban fogadták el a kernelbe és a 7.0.0 verziót alkotó 6.18.23 kiadás keretébe is beépítették. A probléma a 6.16 ágból kezdődően jelentkezik.

Ahogy a Dirty Frag sérülékenységek sorozatánál, úgy az új sérülékenység is megtalálható az RxRPC illesztőprogramban, amely az AF_RXRPC socketek családját és az azonos nevű RPC protokollt valósítja meg, amely az UDP fölött működik. A probléma abból adódik, hogy hibásan ellenőrizték az adatméretet az rxgk_verify_response() függvényben — a kódban az „if (auth_len > len)” mellett „if (auth_len < len)” szerepelt, ami a rxgk_decrypt_skb() függvénybe túlméretezett adatot küldött. A rxgk_decrypt_skb() függvény végrehajtásakor az adatok dekódolására a változtatások közvetlenül az oldalgyorstárba történő behelyettesítésével került sor, hogy elkerüljék a felesleges puffert. A helytelen méretellenőrzés miatt lehetőség nyílt az adatok felülírására az oldalgyorstárban a kiválasztott eltolás szerint.

A sérülékenység kihasználása a program fájljának olvasására vonatkozik, amely suid root zászlóval rendelkezik (annak megszerzésére az oldalgyorstárban) és a program kódjának egy részét az oldalgyorstárban a /usr/bin/sh végrehajtására módosítja. A program következő futtatása során nem az eredeti végrehajtható fájl kerül betöltésre a tárolóból, hanem a módosított másolat az oldalgyorstárból. SUID programokként az exploit lehetőséget biztosít a „/usr/bin/su”, „/bin/su”, „/usr/bin/mount”, „/usr/bin/passwd” és „/usr/bin/chsh” használatára.

A sebezhetőség kihasználásához a kernel fordításakor a CONFIG_RXGK opciót engedélyezni kell, és az automatikus indításhoz elérhetőnek kell lennie az rxrpc.ko kernelmodulnak (bizonyos rendszereken nem fordul le). A sebezhetőségek javításainak állapota a disztribúciókban az alábbi oldalakon értékelhető: Debian, Ubuntu, SUSE/openSUSE, RHEL, Arch, Fedora. Védelmi átmeneti megoldásként letilthatjuk az rxrpc kernelmodul betöltését:

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

Továbbá megemlíthetjük, hogy a Linux kernel fejlesztők levelezőlistáján közzétették azokat a javításokat, amelyek teljesen letiltják a crypto API-ban (AF_ALG) az olyan optimalizálásokat, amelyek közvetlen hozzáférést használnak az oldal cache-höz, amikor a "skcipher" és "aead" algoritmusokkal titkosítást használnak. Ezek az optimalizálások kiküszöbölik a felesleges adathalmozást, de komoly sebezhetőségi kockázatokat teremtenek. Feltételezhető, hogy ezek letiltása csak minimális teljesítménycsökkenést okoz a külön pufferbe történő adatkópia miatt. A javításokat a crypto API-t kísérő fejlesztő fogadta el, és a "cryptodev" ágban szerepelnek, amelyben a jövőbeli Linux-kernel verziókba való integrációra vonatkozó lehetőségeket fejlesztik.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster