Copy Fail — egy sebezhetőség a Linux kernelben, amely lehetővé teszi a root jogosultságok megszerzését a legtöbb disztribúcióban

A Xint kutatói felfedezték a Linux kernelében a CVE-2026-31431 azonosítójú sebezhetőséget, amely lehetővé teszi a nem privilegizált felhasználó számára a root-hozzáférés megszerzését a rendszerhez. A probléma kódneve Copy Fail. Egy prototípus exploit elérhető. A sebezhetőség kihasználásának lehetőségét az Ubuntu 24.04 LTS, az Amazon Linux 2023, a RHEL 10.1 és a SUSE 16 platformokon demonstrálták, de megjegyzik, hogy más disztribúciókból, beleértve a Debiant, Archot, Fedort, Rocky-t és Almát is, a kernel csomagok is érintettek, de ezeket külön nem tesztelték.

A sebezhetőség az Linux kernel crypto API (AF_ALG) logikai hibájából ered, amit 2017-ben követtek el az AEAD (Authenticated Encryption with Associated Data) blokk titkosító műveletek felesleges pufferezésének eltávolításakor. A probléma a splice() függvény, amely adatok átvitelére szolgál fájl leírók és csövek (pipe) között másolás nélkül, a lapcache elemeire mutató hivatkozások átadásával, gondatlan használatából származik. Az optimalizálás után, amikor fájlt továbbítanak az AF_ALG socketbe dekódolásra, a scatterlist struktúrába nem hivatkozás került egy külön pufferekre, hanem közvetlen hivatkozás a kernel lapcache-elemeire, amelyek a fájl adatait tartalmazzák.

A dekódolás során az AEAD-k folyamatában a hivatkozás szerint összekapcsolt autentikáló címke („authentication tag”) adatait összekeverték a RX pufferbe átmásolt kiegészítő autentikálható adatokkal (AAD, Associated Authenticated Data) és a titkosított szöveggel, az autentikáló címkéhez való írási eltolás pedig a másolt adatokhoz viszonyítva lett kiszámítva, megfelelő ellenőrzések nélkül, ami lehetővé tette a tetszőleges területek felülírását a lapcache-ben.

A sebezhetőség lehetővé teszi, hogy minden kéréskor 4 bájt felülíródjon a választott eltolásnál, ami lehetővé teszi a támadó számára, hogy sorozatos kérések küldésével megváltoztassa a lapcache-ben bármely olvasható fájl tartalmát a rendszerben, miután azt sikerült a cache-be helyezni. Mivel bármely fájl olvasásakor a tartalmat elsődlegesen a lapcache-ből szolgáltatják, az információk lecserélése után a kernel vagy a folyamat a fájl olvasásakor nem a tényleges, hanem a megváltoztatott adatokat kapja, ami felhasználható kód beszúrására végrehajtható fájlokba vagy betöltött megosztott könyvtárakba.

A kód root jogosultságokkal való futtatásához elegendő csak a lap cache-jének megváltoztatása bármelyik suid root fájlhoz.
A javasolt exploit végrehajtja az /usr/bin/su futtatható fájl olvasását és a fájl tartalmának módosítását a lap cache-be, hogy behelyettesítse a saját kódját. A következő alkalommal, amikor a „su” segédprogram fut, a memória nem az eredeti fájlt tölti be az adathordozóról, hanem a módosított példányt a lap cache-ből.

Az exploit univerzális, nem igényel alkalmazkodást a disztribúciókhoz vagy a kernel verziókhoz, és bármely disztribúcióval használható. Mivel a konténerizált izoláció minden konténer számára közös lap cache-t használ, a sebezhetőséget a konténerből a gazda környezethez való hozzáféréshez is felhasználhatjuk (később ígérik, hogy közzétesznek egy exploit-ot a Kubernetes izolációjának megkerülésére).

A sebezhetőséget az AI segítségével körülbelül egy óra kísérletezés után fedezték fel a kernel kriptorendszerének kódelemzésével. A probléma a Linux 4.14 kerneltől kezdve jelentkezik, amely 2017-ben jelent meg, és a 6.18.22, 6.19.12 és 7.0 kernel verziókban megoldották. A disztribúciók sebezhetőségeinek kijavítási állapota ezen az adatoldalon értékelhető: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora, ROSA.

A védelem megkerüléseként le lehet tiltani az algif_aead kernel modult, amelyet az OpenSSL használ, ha az afalg motor expliciten van engedélyezve, és különböző alkalmazásokban (ellenőrizni lehet az ilyen alkalmazásokat a következő parancs végrehajtásával: „lsof | grep AF_ALG”):

    echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
    rmmod algif_aead

    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