
Verifica un server Linux per CVE-2026-98432 (use-after-free IPv4 TCP, CVSS 9.8): causa principale spiegata, script di verifica in sola lettura e mitigazioni.
Comprendi e verifica CVE-2026-98432, la race condition nell'handshake TCP IPv4 del kernel Linux che consente a un attaccante remoto di utilizzare memoria del kernel liberata. Il Frontier Red Team di Anthropic l'ha trasformata in un exploit zero-click per ottenere i privilegi di root contro server con un listener multipath TCP (MPTCP). Al 30 ottobre 2026, Ubuntu e Red Hat non dispongono ancora di un kernel corretto.
Incolla invece l'output del comando nel browser: https://fbuff.com/tools/cve-2026-98432-checker/ (viene eseguito localmente, nulla viene caricato)
Ogni connessione TCP inizia con un handshake: il client invia SYN, il server risponde SYN-ACK, il client replica ACK. Tra SYN e ACK il kernel mantiene un piccolo segnaposto per la connessione semi-aperta, un request socket. Se il SYN del client trasportava opzioni IPv4 (Record Route, Timestamp e simili), il kernel le conserva insieme al segnaposto (ireq_opt), perché il SYN-ACK deve rimandarle indietro.
Quando arriva l'ACK, tcp_v4_syn_recv_sock() trasforma il segnaposto in un socket completo e gli assegna lo stesso blocco di opzioni invece di una copia. Due oggetti ora puntano a un unico blocco di memoria. Quando il socket completo viene distrutto, inet_sock_destruct() libera quel blocco immediatamente con un semplice kfree().
Il segnaposto risiede nella tabella hash delle connessioni stabilite, che altre CPU leggono senza lock (tale design risale al commit 079096f103fa, "tcp/dccp: install syn_recv requests into ehash table", Linux 4.4, 2015). Se il client ritrasmette il suo SYN al momento giusto, un'altra CPU sta reinviando il SYN-ACK e legge le opzioni in ip_options_build() mentre il blocco viene liberato: un use-after-free.
Immagina un guardaroba che consegna lo stesso talloncino a due persone. Quando una esce, l'addetto butta via il talloncino mentre l'altra sta ancora camminando verso il bancone con il suo.
La correzione (commit upstream e3f33b0a1d89, "ipv4: free inet_opt and ireq_opt after an RCU grace period", 7.3-rc7) libera il blocco con kfree_rcu(), che attende che ogni CPU abbia terminato la lettura. IPv6 non è interessato dal problema principale perché tcp_v6_syn_recv_sock() copia le opzioni. Esiste un secondo percorso verso la stessa memoria tramite la migrazione delle request (net.ipv4.tcp_migrate_req=1 o un programma BPF_SK_REUSEPORT_SELECT_OR_MIGRATE).
| Valutatore | Punteggio | Nota |
|---|---|---|
| Linux kernel CVE team (CNA) | 9.8 | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Red Hat | 8.1 | AC:H: la race è difficile da vincere (preliminare) |
| Ubuntu | 9.8, priorità High |
MPTCP consente a una singola connessione di usare più percorsi contemporaneamente. Su Linux è opt-in: un programma deve richiedere un socket MPTCP, e ss -Mltn elenca quelli in ascolto. L'exploit di Anthropic prende di mira "server Linux con un listener multipath TCP". Né il record CVE né la correzione menzionano MPTCP, e Anthropic non ha dichiarato se i server privi di tale listener possano essere compromessi. Un listener MPTCP è il percorso dimostrato verso root; ogni server non aggiornato esegue comunque il codice difettoso.
| Distribuzione | Stato |
|---|---|
| Debian 12 bookworm | Corretto: linux 6.1.190-1 (DLA-4841-1), linux-6.12 6.12.113-1~deb12u1 |
| Debian 13 trixie | Corretto: linux 6.12.113-1 (DSA-6568-1) |
| Ubuntu 22.04, 24.04, 26.04, 26.10 | Vulnerabile, correzione in corso |
| Ubuntu 16.04, 18.04, 20.04 | Vulnerabile |
| Ubuntu 14.04 | Non interessato |
| Red Hat Enterprise Linux | Interessato; Red Hat afferma che nessuna mitigazione soddisfa i suoi criteri |
| Upstream stable | Corretto in 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 e 7.3 |
curl -fsSLO https://raw.githubusercontent.com/fbuff-tools/cve-2026-98432-checker/main/check.sh
sh check.sh
Lo script legge uname -r, /etc/os-release, il changelog del pacchetto del kernel (rpm -q --changelog, oppure apt changelog, che richiede la rete), sysctl net.mptcp.enabled net.ipv4.tcp_migrate_req e ss -Mltn. Stampa un verdetto ed esce con 0 (corretto o non interessato), 1 (vulnerabile) o 2 (impossibile determinarlo). Esegue solo letture; nulla viene inviato o modificato. Eseguilo sull'host: i container condividono il kernel dell'host.
I kernel delle distribuzioni come 6.8.0-85 di Ubuntu o 5.14.0-570 di RHEL applicano correzioni tramite backport senza modificare il numero di versione, quindi solo il loro changelog può dirlo. Le versioni in stile upstream (6.12.113+deb13) vengono confrontate con le release corrette indicate sopra.
sudo apt update && sudo apt full-upgrade # Debian, Ubuntu
sudo dnf upgrade kernel # RHEL family, Amazon Linux 2023
sudo zypper patch # SUSE
sudo reboot
sudo sysctl -w net.mptcp.enabled=0
sudo sysctl -w net.ipv4.tcp_migrate_req=0
printf 'net.mptcp.enabled = 0\nnet.ipv4.tcp_migrate_req = 0\n' | sudo tee /etc/sysctl.d/90-cve-2026-98432.conf
ip_options_build o ip_build_and_send_pkt (journalctl -k), oppure raffiche di SYN con opzioni IPv4 da un'unica sorgente.Nessuno dei passaggi 2-4 sostituisce la patch, e nessun fornitore li ha confermati come workaround completo.
Correlati: KSMBD checker, HTTP2Shell checker, PHP2Shell checker.
Informazioni aggiornate al 30 ottobre 2026; lo stato delle correzioni cambia rapidamente, quindi controlla il tracker del tuo fornitore. Licenza MIT. Realizzato da fbuff.