
Prüft einen Linux-Server auf CVE-2026-98432 (IPv4-TCP-Use-after-free, CVSS 9.8): Ursache erläutert, schreibgeschütztes Prüfskript und Gegenmaßnahmen.
Verstehen und Prüfen von CVE-2026-98432, der Race Condition im IPv4-TCP-Handshake des Linux-Kernels, die es einem entfernten Angreifer ermöglicht, freigegebenen Kernel-Speicher zu nutzen. Anthropics Frontier Red Team hat daraus einen Zero-Click-Root-Exploit gegen Server mit einem Multipath-TCP-(MPTCP-)Listener gemacht. Stand 30. Oktober 2026 haben Ubuntu und Red Hat noch keinen gepatchten Kernel.
Fügen Sie die Befehlsausgabe stattdessen im Browser ein: https://fbuff.com/tools/cve-2026-98432-checker/ (läuft lokal, nichts wird hochgeladen)
Jede TCP-Verbindung beginnt mit einem Handshake: Der Client sendet SYN, der Server antwortet mit SYN-ACK, der Client antwortet mit ACK. Zwischen SYN und ACK hält der Kernel einen kleinen Platzhalter für die halboffene Verbindung bereit, ein Request Socket. Wenn das SYN des Clients IPv4-Optionen enthielt (Record Route, Timestamp und ähnliche), speichert der Kernel sie zusammen mit dem Platzhalter (ireq_opt), da das SYN-ACK sie zurückspiegeln muss.
Wenn das ACK eintrifft, wandelt tcp_v4_syn_recv_sock() den Platzhalter in einen vollständigen Socket um und übergibt ihm denselben Optionsblock statt einer Kopie. Zwei Objekte zeigen nun auf einen Speicherblock. Wenn der vollständige Socket zerstört wird, gibt inet_sock_destruct() diesen Block sofort mit einem einfachen kfree() frei.
Der Platzhalter befindet sich in der Hash-Tabelle der etablierten Verbindungen, die andere CPUs ohne Sperre lesen (dieses Design stammt aus Commit 079096f103fa, „tcp/dccp: install syn_recv requests into ehash table“, Linux 4.4, 2015). Wenn der Client sein SYN im richtigen Moment erneut sendet, sendet eine andere CPU das SYN-ACK erneut und liest die Optionen in ip_options_build(), während der Block gerade freigegeben wird: ein Use-after-free.
Man stelle sich eine Garderobe vor, die zwei Personen dieselbe Marke gibt. Wenn eine geht, wirft der Garderobier die Marke weg, während die andere noch mit ihr zur Theke läuft.
Die Korrektur (Upstream-Commit e3f33b0a1d89, „ipv4: free inet_opt and ireq_opt after an RCU grace period“, 7.3-rc7) gibt den Block mit kfree_rcu() frei, was wartet, bis jede CPU das Lesen beendet hat. IPv6 ist vom Hauptproblem nicht betroffen, da tcp_v6_syn_recv_sock() die Optionen kopiert. Ein zweiter Pfad zu demselben Speicher existiert über die Request-Migration (net.ipv4.tcp_migrate_req=1 oder ein BPF_SK_REUSEPORT_SELECT_OR_MIGRATE-Programm).
| Bewerter | Bewertung | Anmerkung |
|---|---|---|
| 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: Die Race Condition ist schwer zu gewinnen (vorläufig) |
| Ubuntu | 9.8, Priorität Hoch |
MPTCP ermöglicht es einer Verbindung, mehrere Pfade gleichzeitig zu nutzen. Unter Linux ist es opt-in: Ein Programm muss einen MPTCP-Socket anfordern, und ss -Mltn listet die lauschenden auf. Anthropics Exploit zielt auf „Linux-Server mit einem Multipath-TCP-Listener“. Weder der CVE-Eintrag noch die Korrektur erwähnen MPTCP, und Anthropic hat nicht gesagt, ob Server ohne einen solchen übernommen werden können. Ein MPTCP-Listener ist der nachgewiesene Weg zu root; jeder ungepatchte Server führt weiterhin den fehlerhaften Code aus.
| Distribution | Status |
|---|---|
| Debian 12 bookworm | Behoben: linux 6.1.190-1 (DLA-4841-1), linux-6.12 6.12.113-1~deb12u1 |
| Debian 13 trixie | Behoben: linux 6.12.113-1 (DSA-6568-1) |
| Ubuntu 22.04, 24.04, 26.04, 26.10 | Anfällig, Korrektur in Arbeit |
| Ubuntu 16.04, 18.04, 20.04 | Anfällig |
| Ubuntu 14.04 | Nicht betroffen |
| Red Hat Enterprise Linux | Betroffen; Red Hat gibt an, dass keine Gegenmaßnahme seine Kriterien erfüllt |
| Upstream stable | Behoben in 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 und 7.3 |
curl -fsSLO https://raw.githubusercontent.com/fbuff-tools/cve-2026-98432-checker/main/check.sh
sh check.sh
Das Skript liest uname -r, /etc/os-release, das Changelog des Kernel-Pakets (rpm -q --changelog oder apt changelog, was Netzwerkzugriff erfordert), sysctl net.mptcp.enabled net.ipv4.tcp_migrate_req und ss -Mltn. Es gibt ein Urteil aus und beendet sich mit 0 (gepatcht oder nicht betroffen), 1 (anfällig) oder 2 (keine Aussage möglich). Es liest nur; es wird nichts gesendet oder verändert. Führen Sie es auf dem Host aus: Container teilen sich den Host-Kernel.
Distributions-Kernel wie Ubuntus 6.8.0-85 oder RHELs 5.14.0-570 backporten Fixes, ohne die Versionsnummer zu ändern, sodass nur ihr Changelog Auskunft geben kann. Upstream-artige Versionen (6.12.113+deb13) werden mit den oben genannten festen Releases verglichen.
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 oder ip_build_and_send_pkt nennen (journalctl -k), oder Schübe von SYNs mit IPv4-Optionen aus einer Quelle.Keiner der Schritte 2–4 ersetzt den Patch, und kein Hersteller hat sie als vollständigen Workaround bestätigt.
Verwandt: KSMBD checker, HTTP2Shell checker, PHP2Shell checker.
Informationen mit Stand vom 30. Oktober 2026; der Fix-Status ändert sich schnell, prüfen Sie daher den Tracker Ihres Herstellers. MIT-Lizenz. Erstellt von fbuff.