home / blog
2026-11-08 · alta
CVE-2026-98276: race condition nei socket UDP del kernel Linux
Race condition UDP kernel (CVE-2026-98276): use-after-free locale con CVSS 7,8 (High) per LPE.

CVE-2026-98276 è una race condition nel kernel Linux che affetta la gestione dei socket UDP. La vulnerabilità risiede in sock_gettstamp(), che modifica i flag del socket senza protezione di lock. Questo consente a due thread di modificare simultaneamente lo stesso bit: bind() imposta SOCK_RCU_FREE mentre SIOCGSTAMPNS_NEW imposta SOCK_TIMESTAMP. La perdita di SOCK_RCU_FREE causa un use-after-free nel percorso di ricezione UDP.
La vulnerabilità è valutata con CVSS 7,8 (High) e rappresenta un rischio serio per sistemi Linux multiutente. Jungwoo Lee e Wongi Lee hanno documentato il bug tramite un exploit proof-of-concept che dimostra il use-after-free in ambienti di test. Lo stato attuale è risolto: una patch è stata incorporata nel kernel, con il fix che limita l'acquisizione del socket lock al solo caso in cui SOCK_TIMESTAMP debba essere impostato.
Per i team IT e sysadmin: aggiornare immediatamente il kernel Linux alle versioni patched. Verificare i sistemi in uso tramite controllo della versione kernel (uname -r). Monitorare i log per pattern anomali di socket UDP in bind() su sistemi compromessi. Implementare ASLR e execshield come mitigazioni ulteriori contro sfruttamenti locali. Su sistemi non ancora patchati, limitare i privilegi degli utenti non fidati per ridurre la superficie d'attacco.
In sintesi
- Cosa
- Use-after-free nei socket UDP causato da race condition tra bind() e SIOCGSTAMPNS_NEW ioctl. La falla consente la perdita del flag SOCK_RCU_FREE, inducendo il kernel a liberare immediatamente il socket senza attendere il periodo di grazia RCU, mentre il percorso di ricezione UDP mantiene un puntatore non riferito ad esso.
- Gravità
- CVSS 7,8 (High). Consente escalation di privilegio locale: attaccanti non privilegiati sfruttano la race condition per causare use-after-free nel kernel e acquisire privilegi elevati.
- Versioni interessate
- Non riportato negli dati ufficiali. Il contesto suggerisce kernel recenti (patch nel 6.12.95+), ma le versioni precise interessate non sono dichiarate in NVD.
- Correzione
- Acquisizione del socket lock in sock_gettstamp() solo quando SOCK_TIMESTAMP deve essere impostato. Mantiene il percorso comune privo di lock, elimina la race condition e preserva i flag condivisi. Audit separata consigliata per sk_set_memalloc() e sk_clear_memalloc().
- Stato
- Risolto. Una patch è stata sviluppata e incorporata nel kernel Linux ufficiale.
- Azione
- Aggiornare il kernel Linux alle versioni patched. Verificare la versione locale con 'uname -r'. Monitorare log per segni di sfruttamento (KASAN messages, use-after-free UDP). Limitare privilegi su sistemi non aggiornati. Implementare ASLR e execshield come protezioni ulteriori contro LPE locali.
Fonti: NVD, CVE-2026-98276