GRO Frag: una nuova vulnerabilità LPE nel stack di rete Linux consente di ottenere i privilegi di root

È disponibile pubblicamente un exploit per GRO Frag — una vulnerabilità locale di escalation dei privilegi nel kernel Linux, relativa alla gestione di GRO e zero-copy skb nello stack di rete. La data esatta di scoperta iniziale nei materiali pubblici non è specificata. Dai riscontri pubblici è possibile registrare due date: la correzione è stata discussa nella mailing list netdev 20 maggio 2026, dove questa vulnerabilità era già stata descritta come idonea alla sovrascrittura della cache delle pagine, e un PoC pubblico è stato pubblicato su GitHub Gist 22 maggio 2026.

Come misura temporanea fino all'installazione del kernel corretto, è possibile limitare il vettore d'attacco tramite sysctl: kernel.io_uring_disabled=1. Questa modalità impedisce la creazione di nuove istanze di io_uring da parte di processi non privilegiati, a meno che non siano inclusi nel gruppo consentito io_uring_group; con un valore di gruppo di -1, l'accesso è mantenuto solo dai processi con CAP_SYS_ADMIN. Questa è una mitigazione, non una correzione completa della vulnerabilità.

Il problema si trova nella funzione skb_gro_receive(): durante la fusione dei pacchetti GRO, il kernel poteva spostare frammenti da zero-copy skb a un altro skb senza un corretto controllo dello stato zero-copy e del flag SKBFL_MANAGED_FRAG_REFS. Di conseguenza, le pagine di memoria, a cui il skb originale non manteneva riferimenti separati, potevano essere rilasciate in modo errato, portando a use-after-free. Nella patch è chiaramente indicato che tale situazione potrebbe portare a UAF e che la variante trovata era idonea alla sovrascrittura della cache delle pagine.

Il PoC pubblicato descrive la vulnerabilità come LPE tramite GRO managed-frag UAF utilizzando io_uring SEND_ZC e l'interfaccia di rete virtuale veth. Nei commenti al codice è indicato che sono interessati i kernel Linux 6.0+, l'exploit è possibile da parte di un utente non privilegiato, ma richiede accesso a io_uring; come correzione è stato nominato commit 4db79a322db8 con la modifica «net: gro: non unire skbs zcopy».


Per quanto riguarda le conseguenze, GRO Frag rientra nella stessa pericolosa categoria di errori di Copy Fail e Dirty Frag: un attaccante con accesso locale non privilegiato può modificare i dati nella cache delle pagine, cioè in memoria, senza la necessaria modifica del file su disco. Questi tipi di errori sono particolarmente sgradevoli poiché colpiscono il confine tra il file 'sola lettura' e il contenuto effettivo che il kernel e i processi vedono nelle chiamate successive. Elastic ha precedentemente descritto questa categoria come un modo pratico per ottenere il root tramite la corruzione della cache delle pagine.

Al momento della pubblicazione, un identificatore CVE separato per GRO Frag non era ancora stato assegnato, a giudicare dalle informazioni disponibili. Come misure temporanee, gli amministratori dovrebbero concentrarsi sull'aggiornamento del kernel a una versione con una correzione, oltre a misure generali per ridurre il rischio di simili LPE: limitare gli spazi dei nomi utente non privilegiati dove possibile, controllare l'uso di io_uring e monitorare le catene sospette associate all'escalation locale dei privilegi. Per gli attacchi correlati Copy Fail/DirtyFrag, Elastic raccomanda di combinare il patching con la rilevazione di primitivi di sfruttamento a basso livello delle vulnerabilità.

I primitivi di sfruttamento a basso livello non sono l'effettivo "attacco completato", ma tecniche tecniche di base da cui viene costruito l'exploit.

Nel contesto di GRO Frag, ciò può significare non rilevare il fatto già avvenuto che "l'utente è diventato root", ma cercare di notare singole azioni sospette che l'exploit utilizza nel cammino verso l'innalzamento dei privilegi.

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster