Távoli sebezhetőség a Linux kernelben, amely a TIPC protokoll használatakor lép fel

Sebezhetőséget (CVE-2022-0435) azonosítottak a Linux kernel modulban, amely biztosítja a TIPC (Transparent Inter-process Communication) hálózati protokoll működését, és potenciálisan lehetővé teszi a kód futtatását kernel szinten egy speciálisan kialakított hálózat küldésével. csomag. A probléma csak azokat a rendszereket érinti, amelyekben a tipc.ko kernelmodul betöltött, és a TIPC-verem be van állítva, amelyet általában fürtökben használnak, és alapértelmezés szerint nincs engedélyezve a nem speciális Linux-disztribúciókban.

Megjegyzendő, hogy amikor a kernel "CONFIG_FORTIFY_SRC=y" módban (az RHEL-ben használatos), amely további határellenőrzéseket ad a memcpy() függvényhez, a működés vészleállításra korlátozódik (a kernel pánikba esik). Ha további ellenőrzések nélkül hajtják végre, és ha a verem védelmére használt canary címkék információi kiszivárognak, a probléma kihasználható távoli kódfuttatásra kerneljogokkal. A problémát azonosító kutatók azt állítják, hogy a kiaknázási technika triviális, és a disztribúciók sérülékenységének széles körű megszüntetése után hozzák nyilvánosságra.

A sérülékenységet a csomagok feldolgozása során fellépő veremtúlcsordulás okozza, ahol a tartománytagok számát tartalmazó mező értéke meghaladja a 64-et. A csomóponti paraméterek tipc.ko modulban való tárolására egy rögzített tömb „u32 members[64” ]” használatban van, de a csomagban megadott feldolgozása során A csomópontszám nem ellenőrzi a "member_cnt" értékét, ami lehetővé teszi a 64-nél nagyobb értékek használatát a memóriaterületen lévő adatok ellenőrzött felülírására. a verem "dom_bef" struktúrájához.

A sérülékenységhez vezető hibát 15. június 2016-én vezették be, és bekerült a Linux 4.8-as kernelébe. A sérülékenységet a Linux kernel 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 és 4.9.301 kiadásai javították. A legtöbb disztribúció kernelében a probléma megoldatlan marad: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

A TIPC protokollt eredetileg az Ericsson fejlesztette ki, a folyamatok közötti kommunikáció fürtben való megszervezésére tervezték, és főként a fürt csomópontokon aktiválódik. A TIPC Etherneten vagy UDP-n keresztül is működhet (6118-as hálózati port). Etherneten keresztül végzett munka során a támadás a helyi hálózatról, UDP használatakor pedig a globális hálózatról hajtható végre, ha a portot nem fedi tűzfal. A támadást a gazdagép jogosulatlan helyi felhasználója is végrehajthatja. A TIPC aktiválásához le kell töltenie a tipc.ko kernel modult, és be kell állítania a hálózati interfészhez való kötést a netlink vagy a tipc segédprogram segítségével.

Forrás: opennet.ru

Hozzászólás