GRO Frag: nová LPE zranitelnost v síťovém stacku Linuxu umožňuje získání root

Na veřejnost se dostal exploit pro GRO Frag — lokální zranitelnost se zvýšením oprávnění v jádře Linuxu, související s zpracováním GRO a zero-copy skb ve síťovém zásobníku. Přesné datum prvotního objevení v veřejných materiálech není uvedeno. Z veřejných stop lze zaznamenat dvě data: oprava byla diskutována v mailing listu netdev 20. května 2026, kde byla tato zranitelnost již popsána jako vhodná pro přepsání page cache, a veřejný PoC byl umístěn na GitHub Gist 22. května 2026.

Jako dočasné opatření před instalací opraveného jádra lze omezit vektor útoku prostřednictvím sysctl: kernel.io_uring_disabled=1. Tento režim zakazuje vytváření nových instancí io_uring neprivilegovaným procesům, pokud nejsou zahrnuty ve schválené skupině io_uring_group; při hodnotě skupiny -1 si pouze procesy s CAP_SYS_ADMIN uchovávají přístup. To je konkrétně mitigace, nikoli plnohodnotná oprava zranitelnosti.

Problém je ve funkci skb_gro_receive(): při slučování paketů GRO jádro mohlo přesunout fragmenty z zero-copy skb do jiného skb bez správné kontroly stavu zero-copy a příznaku SKBFL_MANAGED_FRAG_REFS. V důsledku toho mohly být stránky paměti, na které původní skb neměl jednotlivé odkazy, uvolňovány nesprávně, což vedlo k use-after-free. V patchi je přímo uvedeno, že taková situace může vést k UAF, a také že nalezená varianta byla vhodná pro přepsání page cache.

Publikovaný PoC popisuje zranitelnost jako LPE přes GRO managed-frag UAF s využitím io_uring SEND_ZC a virtuální síťové rozhraní veth. V komentáři kódu je uvedeno, že se to týká jader Linux 6.0+, exploitace je možná neprivilegovaným uživatelem, ale vyžaduje dostupné io_uring; jako oprava byla uvedena commit 4db79a322db8 se změnou "net: gro: don’t merge zcopy skbs".


Pokud jde o důsledky, GRO Frag spadá do stejné nebezpečné třídy chyb jako Copy Fail a Dirty Frag: útočník s lokálním neprivilegovaným přístupem dosáhne změny dat v page cache, tedy v paměti, bez nutné modifikace souboru na disku. Takové chyby jsou obzvlášť nepříjemné tím, že zasahují hranici mezi "pouze pro čtení" souborem a skutečným obsahem, který jádro a procesy vidí při následných přístupech. Elastic dříve popisovala tuto třídu jako praktickou cestu k získání root přístupu přes poškození page-cache.

Ke dni zveřejnění tohoto příspěvku nebyl pro GRO Frag podle dostupných informací přidělen samostatný identifikátor CVE. Jako dočasná opatření by se administrátoři měli zaměřit na aktualizaci jádra na verzi s opravou, stejně jako na obecná opatření snižující riziko pro podobná LPE: omezení nepř privileged user namespaces tam, kde je to možné, kontrola používání io_uring a sledování podezřelých řetězců souvisejících s místním zvýšením oprávnění. Pro příbuzné útoky Copy Fail/DirtyFrag Elasti doporučuje kombinovat patching s detekcí nízkoúrovňových primitivů exploitace zranitelnosti.

Nízkoúrovňové primitivy exploitace nejsou samotným „hotovým hackem“, ale základními technickými technikami, ze kterých se vybudovává exploit.

V kontextu GRO Frag to může znamenat ne detekci již hotového faktu „uživatel se stal root“, ale snahu zaznamenat jednotlivé podezřelé akce, které exploit využívá na cestě k zvýšení oprávnění.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster