Nyilvános elérhetőségre került egy exploit a GRO Frag — a Linux kernel helyi privilégiumemelési sebezhetőségéről, amely a GRO és a zero-copy skb hálózati stackben történő kezelésével kapcsolatos. A pontos dátum, amikor először felfedezték, a nyilvános anyagokban nem szerepel. A nyilvános nyomok alapján két dátum rögzíthető: a javítást a netdev levelezőlistán tárgyalták 2026. május 20-án, ahol ezt a sebezhetőséget már a page cache felülírására alkalmasnak írták le, és egy nyilvános PoC került közzétételre a GitHub Gist 2026. május 22-én.
Ideiglenes intézkedésként a javított kernel telepítése előtt a támadási vektor korlátozható a sysctl segítségével: kernel.io_uring_disabled=1. Ez a mód megtiltja új io_uring példányok létrehozását nem privilegizált folyamatok számára, hacsak nem szerepelnek a megengedett io_uring_group csoportban; ha a csoport értéke -1, akkor a hozzáférés csak a CAP_SYS_ADMIN jogosultsággal rendelkező folyamatok számára biztosított. Ez éppen mentesítés, nem pedig teljes körű javítás a sebezhetőségre.
A probléma a skb_gro_receive() függvényben található: amikor a GRO csomagok egyesítése történik, a kernel a zero-copy skb-fragmenteit egy másik skb-be másolhatta anélkül, hogy helyesen ellenőrizte volna a zero-copy állapotát és az SKBFL_MANAGED_FRAG_REFS jelzést. Ennek eredményeként azok a memóriablokkok, amelyekre az eredeti skb nem tartott külön hivatkozásokat, helytelenül felszabadulhattak, ami use-after-free-hoz vezetett. A javítócsomagban kifejezetten szerepel, hogy ez a helyzet UAF-ot okozhat, és azt is, hogy a talált változat alkalmas volt a page cache felülírására.
A közzétett PoC a sebezhetőséget így írja le: LPE a GRO managed-frag UAF-on keresztül az io_uring SEND_ZC és a veth virtuális hálózati interfész felhasználásával. A kód kommentárjában szerepel, hogy érintette a következő kernelt: Linux 6.0+, a kihasználás nem privilegizált felhasználó által is lehetséges, de igényli az elérhető io_uring-ot; a javításként megjelölt commit-ra. 4db79a322db8 a „net: gro: ne egyesítse a zcopy skbs”-el.
A GRO Frag következményei az Copy Fail és Dirty Frag hibák veszélyes osztályába tartoznak: a támadó helyi, nem privilegizált hozzáféréssel ki tudja alakítani az adatokat a page cache-ben, ezáltal a memóriában, anélkül, hogy kötelezően módosítaná a fájlt a lemezen. Az ilyen hibák különösen kellemetlenek, mert érintik a határt a fájl „csak olvasható” státuszának és a tényleges tartalomnak az összefüggésében, amelyet a kernel és a folyamatok a további hivatkozások során látnak. Az Elastic korábban így írta le ezt a klasszikus megközelítést a root elérésének gyakorlati módjaként a page-cache korrupcióján keresztül.
A közzététel időpontjában a GRO Frag-hoz külön CVE-azonosító, a rendelkezésre álló információk szerint, még nem lett kijelölve. Ideiglenes intézkedésként az adminisztrátoroknak a kernel frissítésére kell összpontosítaniuk a javító verzióra, valamint a magas kockázatú LPE-k csökkentésére irányuló általános intézkedésekre: a nem privilegizált felhasználói névterek korlátozása, ahol ez megengedett, az io_uring használatának ellenőrzése, és a gyanús láncolatok figyelése, amelyek a helyi jogosultságok emelésével állnak kapcsolatban. A rokon Copy Fail/DirtyFrag támadások esetén az Elastic azt is javasolja, hogy a javítást alacsony szintű kihasználási primitívek észlelésével kombinálják.
Az alacsony szintű kihasználási primitívek nem a "kész hack", hanem az alapvető technikai technikák, amelyekből az exploit felépül.
A GRO Frag kontextusában ez nem a "felhasználó root-ra váltott" tényének észlelését jelenti, hanem a gyanús egyes tevékenységek észlelését, amelyeket az exploit használ a jogosultságok emeléséhez vezető úton.
Forrás: linux.org.ru
