Et exploit er blevet offentliggjort for GRO Frag — en lokal sårbarhed til forhøjelse af privilegier i Linux-kernen, relateret til håndtering af GRO og zero-copy skb i netværksstakken. Den præcise dato for den oprindelige opdagelse er ikke angivet i offentlige materialer. Fra offentlige spor kan man registrere to datoer: rettelsen blev diskuteret i netdev mailinglisten 20. maj 2026, hvor denne sårbarhed allerede blev beskrevet som egnet til overskrivning af page cache, og en offentlig PoC blev placeret på GitHub Gist 22. maj 2026.
Som en midlertidig løsning, indtil den korrigerede kerne er installeret, kan angrebsvektoren begrænses via sysctl: kernel.io_uring_disabled=1. Denne tilstand forbyder oprettelse af nye forekomster af io_uring af ikke-privilegerede processer, medmindre de er inkluderet i den tilladte gruppe io_uring_group; ved gruppens værdi -1 bevares adgangen kun for processer med CAP_SYS_ADMIN. Dette er netop en mitigering, og ikke en fuldt ud retter af sårbarheden.
Problemet ligger i funktionen skb_gro_receive(): ved sammensmeltning af GRO-pakker kunne kernen flytte fragmenter fra zero-copy skb til en anden skb uden korrekt kontrol af tilstanden for zero-copy og indikatoren SKBFL_MANAGED_FRAG_REFS. Som et resultat kunne hukommelsessider, som den oprindelige skb ikke holdt separate referencer til, blive frigivet forkert, hvilket førte til use-after-free. I patchen er det angivet direkte, at en sådan situation kan føre til UAF, og at den identificerede variant var egnet til overskrivning af page cache.
Den offentliggjorte PoC beskriver sårbarheden som LPE gennem GRO managed-frag UAF ved hjælp af io_uring SEND_ZC og det virtuelle netværksinterface veth. I kodekommentaren er det angivet, at kernerne Linux 6.0+, udnyttelse er mulig for en ikke-privilegeret bruger, men kræver en tilgængelig io_uring; som løsning nævnes commit 4db79a322db8 med ændringen "net: gro: don’t merge zcopy skbs."
Med hensyn til konsekvenserne placerer GRO Frag sig i den samme farlige klasse af fejl som Copy Fail og Dirty Frag: en angriber med lokal ikke-privilegeret adgang kan opnå ændringer i data i page cache, dvs. i hukommelsen, uden nødvendigvis at ændre filen på disken. Sådanne fejl er særligt ubehagelige, da de berører grænsen mellem "kun læsning" af en fil og det faktiske indhold, som kernen og processer ser ved efterfølgende adgang. Elastic beskrev tidligere denne klasse som en praktisk vej til at opnå root gennem page-cache korruption.
På tidspunktet for offentliggørelsen var der endnu ikke tildelt et særskilt CVE-identifikator for GRO Frag, ifølge de tilgængelige oplysninger. Som midlertidige foranstaltninger bør administratorer sigte mod at opdatere kernen til en version med en rettelse, samt generelle risiko-reducerende foranstaltninger for sådanne LPE: begrænsning af ikke-privilegerede brugernamespaces, hvor det er muligt, kontrol af brugen af io_uring og overvågning af mistænkelige kæder relateret til lokal privilegiegodkendelse. For beslægtede Copy Fail/DirtyFrag-angreb anbefaler Elastic også at kombinere patching med detektion af lavniveau exploitation primitives.
Lavniveau exploitation primitives er ikke selve 'færdig hack', men grundlæggende tekniske teknikker, som exploits bygger på.
I konteksten af GRO Frag kan dette betyde, at man ikke blot registrerer den færdige handling 'brugeren blev root', men forsøger at opdage enkelte mistænkelige handlinger, som exploit anvender på vejen til at få forhøjede privilegier.
Kilde: linux.org.ru
