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: race condition nei socket UDP del kernel Linux

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

← Tutti gli articoli