Skip to content

Back to the catalog

atlasum.netadvisory

TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8

CVE-2026-98432 is a use-after-free in the Linux IPv4 TCP handshake, rated CVSS 3.1 9.8 and reachable by a remote unauthenticated peer on kernels back to 4.4. The post lists fixed stable releases (October 2026) and distribution patch status as of 31 October 2026, plus kernel and MPTCP listener checks. It gives interim nftables and iptables rules that drop IPv4 packets carrying options, and notes Anthropic's claim that Claude wrote a working exploit.

TL;DR Tracks a critical remote Linux TCP use-after-free, with distro patch status, detection checks and interim firewall rules.
Document

What it is

CVE-2026-98432 is a use-after-free in the Linux IPv4 TCP handshake, reachable by a remote unauthenticated peer on kernels from 4.4 on. The kernel CNA scores it CVSS 3.1 9.8. Red Hat raised its own rating from Important (8.1) to Critical (9.8) on 30 October 2026. Oracle and Amazon Linux still rate it Important at 8.1. Atlas's status data is current to 5:15 PM CDT, 31 October 2026.

How it works

The kernel tracks a half-open handshake in a request socket. If the peer's IPv4 header carried options, the kernel keeps them to echo in replies. It handed those saved options to the new connection without copying them, then freed them when the connection ended, while another CPU could still be reading them to build a handshake reply.

Eric Dumazet's fix changes two kfree() calls to kfree_rcu(). It also covers request-socket migration (net.ipv4.tcp_migrate_req=1 or a BPF_SK_REUSEPORT_SELECT_OR_MIGRATE program). A related IPv6 case is to be fixed in a separate patch, and the stable kernels released 30 October don't include it.

Preconditions / Affected

  • Any host on an unfixed kernel that accepts IPv4 TCP connections, including Kubernetes nodes. Containers use the host kernel, so new images change nothing.
  • Anthropic says its exploit needs a multipath TCP (MPTCP) listener. It hasn't said why, and the CVE record doesn't mention MPTCP. The Go Security Team says the bug is not specific to MPTCP.
  • Go programs open MPTCP listeners by default since Go 1.24, governed by the go line in go.mod. This applies only where net.mptcp.enabled = 1. AlmaLinux ships it off; the Debian 12 kernel Atlas checked has it on.
  • Fixed upstream: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 and 7.3. Distribution kernels use their own version numbers, so check the vendor tracker.

What to do

Distribution status:

  • Fixed: Debian 12 and 13, SUSE Linux Enterprise Server 16.0 and 15 SP4 to SP6 LTSS, openSUSE Leap 16.0, Oracle Linux UEK kernels (16 October), and all Amazon Linux 2 and 2023 kernels.
  • Testing only: AlmaLinux 8, 9 and 10 have fixed kernels in the testing repository since 30 October.
  • No fix yet: Ubuntu (Vulnerable on every release, no notice) and RHEL 8, 9 and 10. RHEL 6 and 7 are not affected.
  • In progress or affected: SLES 15 SP7 is in progress. openSUSE Leap 15.6 is listed as affected.

Install the fixed kernel and reboot, including container hosts and nodes. A newer installed kernel does nothing until the reboot.

To find MPTCP listeners, run this on the host, not in a container. An empty result means none.

ss -Mlnp

Atlas confirmed it lists a Go server built with go 1.24 and skips one built with go 1.23.

Interim measures if you cannot patch:

  • Drop IPv4 TCP packets that carry IP options, in the raw/prerouting stage. The nft rule matches ip hdrlength gt 5. Remove it with:
nft delete table ip cve_2026_98432
  • The iptables equivalent uses a u32 match on the header-length field (values 6 to 15). It needs xt_u32, which RHEL 9 and 10 kernels lack, so use nft there. Remove it by repeating the command with -D instead of -I.
  • Both rules last until reboot.
  • Turn off MPTCP with net.mptcp.enabled=0, which is per network namespace. For Docker use --sysctl net.mptcp.enabled=0. This removes the setup Anthropic's exploit needs, not the bug.
  • Keep MPTCP listeners off the internet and patch those hosts first.
  • Where an edge firewall can drop IPv4 packets with options, doing it there covers every host behind it.

The full nft and iptables rule text did not come through in the fetched page, so take it from the original post or from Red Hat's RHSB-2026-016 or AlmaLinux's announcement.

Caveats

  • Red Hat says its input-hook rule "reduces exposure to this vulnerability but cannot fully prevent it." Atlas tested its rule only against a Record Route SYN, not against an exploit.
  • It does not see traffic bridged between containers on one host. Do not use it on networks that rely on CIPSO labels, which travel in IPv4 options.
  • Anthropic says Claude wrote a working exploit that gets root without credentials: 48 minutes to leak a kernel pointer, then 5 minutes to command execution. It has not published the exploit.
  • Atlas says at least six GitHub repositories claim a race trigger or proof of concept, and it has tested none.
  • The CVE was not in CISA's KEV catalog as of 5:15 PM CDT, 31 October 2026.

Organisations named here

  • Anthropic

CVEs named here

  • CVE-2026-98432

Technologies named here

  • Linux kernel
  • iptables
  • Claude
  • MPTCP
  • nftables

Standards and laws named here

  • CVSS

Techniques named here

  • Use-after-free

Concepts named here

  • MPTCP
  • Use-after-free