nemrég Qualys biztonsági kutatók (felhőbiztonsági, megfelelőségi és kapcsolódó szolgáltatásokat nyújtó vállalat) közzétette a sebezhetőség részleteit mit észleltek és mit a Linux kernelt érintik.
A CVE-2021-33909 hatással van a kernelre, és lehetővé teszi a helyi felhasználók számára, hogy végrehajtják a kódot és fokozzák a privilégiumokat a magasan beágyazott könyvtárak manipulálásával.
A sérülékenység a size_t int típusúvá alakításának eredményének érvényesítésének hiánya miatt következett be mielőtt műveleteket hajtana végre a seq_file kóddal, amely fájlokat hoz létre egy rekordsorozatból. Az érvényesítés hiánya azt eredményezheti, hogy a pufferhatáron kívül eső területre írunk, ha nagyon magas beágyazási szinttel rendelkező könyvtárstruktúrát hozunk létre, illesztünk és dobunk le (az útvonal mérete nagyobb, mint 1 GB).
Bármely nem privilegizált felhasználó gyökérjogosultságokat szerezhet egy sebezhető gazdagépen, ha ezt a biztonsági rést alapértelmezett konfigurációban használja.
Ennek eredményeként a támadó 10 bájtos karakterláncot kaphat "// törölve" "- 2 GB - 10 bájt" eltolással, közvetlenül a lefoglalt puffer előtti területre mutatva.
A kiszolgáltatottság veszélyét fokozza az a tény, hogy a kutatók képesek voltak funkcionális kihasználások előkészítésére az Ubuntu 20.04, a Debian 11 és a Fedora 34 alapértelmezett beállításain. Megjegyezzük, hogy más disztribúciókat nem teszteltek, de elméletileg ezek is érzékenyek a problémára és támadhatók.
A biztonsági rés sikeres kihasználása lehetővé teszi, hogy minden előjog nélküli felhasználó root jogosultságokat szerezzen a sebezhető gazdagépen. A Qualys biztonsági kutatói képesek voltak függetlenül ellenőrizni a sérülékenységet, kifejleszteni egy kihasználást és teljes gyökérjogosultságokat szerezni az Ubuntu 20.04, az Ubuntu 20.10, az Ubuntu 21.04, a Debian 11 és a Fedora 34 Workstation alapértelmezett telepítésein. Más Linux disztribúciók valószínűleg sérülékenyek és valószínűleg kihasználhatók.
A kizsákmányolás munkája nagyjából egymillió könyvtárból álló hierarchia létrehozásából áll beágyazva az mkdir () híváson keresztül 1 GB-nál nagyobb fájl elérési út elérése.
Ez a könyvtár egy külön felhasználói névtérbe van kötve a mount-mount alkalmazásban, amely után az rmdir () függvény fut. Ezzel párhuzamosan létrejön egy szál, amely egy kis eBPF programot tölt be, amely az eBPF álkód ellenőrzése után, de a JIT összeállítása előtt a szakaszban lóg.
A nem kiváltságos felhasználói azonosító névtérben a / proc / self / mountinfo fájl megnyílik, és beolvassa a bind-mount segítségével szerelt hosszú könyvtárútvonalat, aminek eredményeként a "// törölt" sort a puffer kezdete előtt a régióba írják. A vonal írásának helyét úgy választják meg, hogy az felülírja az utasítást a már tesztelt, de még nem összeállított eBPF programban.
Ezenkívül az eBPF program szintjén a puffer kontrollálatlan kiírása olvasási / írási képességgé alakul más kernelstruktúrákban vezérelhető a btf és map_push_elem struktúrák manipulálásával.
A kihasználás ekkor a modprobe_path [] puffert a kernel memóriájába helyezi, és felülírja a "/ sbin / modprobe" elérési utat, lehetővé téve minden futtatható fájl rootként történő indítását, ha request_module () hívás történik, amelyet például létrehozáskor hajtanak végre. egy netlink aljzat ...
A kutatók számos olyan megoldást nyújtottak, amelyek csak egy adott kihasználás esetén hatékonyak, de nem oldják meg magát a problémát.
Ezért ajánlott a "/ proc / sys / kernel / neprivileged_userns_clone" paramétert 0-ra állítani, hogy letiltsa a könyvtárak külön felhasználói névtérben történő telepítését, és az "/ proc sys / kernel / privivileged_bpf_disabled" értéket 1-re az eBPF programok betöltésének letiltásához. a kernelbe.
Emellett ajánlott a Linux disztribúció minden felhasználójának is, frissítse a rendszert, hogy rendelkezzen a megfelelő javítással. A probléma 2014 júliusa óta nyilvánvaló és a kernel verzióit érinti 3.16 óta. A sérülékenységi javítást összehangolták a közösséggel, és a kernelben július 19-én elfogadták.
Végül, ha érdekel, hogy többet tudjon meg róla, keresse fel a részletek a következő linken.