Skip to content
audiotale.net
Sign in
NewsNews

CVE-2026-98432: Linux kernel TCP use-after-free, Anthropic exploit reaches root; disabling MPTCP is not enough

An unauthenticated IPv4 TCP race flaw affects kernels back to 4.4; Debian has fixes, Ubuntu LTS kernels are still pending, and turning off MPTCP does not help.

audiotale.net team

· 6 min read

Written by AI from the sources linked below. How we use AI

On this page
  1. Key points
  2. What to do
  3. What happened
  4. Background
  5. How the severity scores compare
  6. What it means
  7. What we don't know yet
  8. What to watch next
  9. Sources

A use-after-free in the Linux kernel's IPv4 TCP code, tracked as CVE-2026-98432, can be triggered by an unauthenticated peer sending SYN packets that carry IP options. Anthropic published a proof of concept on 27 October 2026 in which a research model took a server with a Multipath TCP (MPTCP) listener from a network connection to a root shell. Distribution kernels are still being patched, and the bug is not limited to MPTCP, so turning MPTCP off does not protect you.

Key points

  • CVE-2026-98432 is a use-after-free in tcp_v4_syn_recv_sock() and related IPv4 TCP code, caused by a race over a connection request's IP options (Ubuntu and Debian advisories).
  • The kernel.org CNA scores it 9.8, upstream scores it 8.1, and sources describe the impact differently, from denial of service to remote code execution (CIQ).
  • Anthropic's write-up says its proof of concept needed 48 minutes to leak a kernel pointer and five more minutes to reach a root shell command, against a server with an MPTCP listener.
  • Debian has fixed kernels (6.1.190-1 for bookworm, 6.12.113-1 for trixie); Ubuntu lists 22.04, 24.04, 26.04 and 26.10 as vulnerable with fixes in progress as of 30 October.
  • Disabling MPTCP is not a fix: CIQ showed a plain TCP listener still reaches the vulnerable path.

What to do

Who is affected. Linux hosts that accept IPv4 TCP connections. BleepingComputer reports kernels as far back as 4.4 are affected. Per its report, RHEL 8, 9 and 10 and Rocky Linux 8, 9 and 10 are affected; RHEL 7 is not. Ubuntu lists 22.04 LTS (kernel 5.15.0-203.213 listed), 24.04 LTS (6.8.0-149.149), 26.04 LTS and 26.10 as vulnerable with fixes in progress, and older releases 20.04, 18.04 and 16.04 as vulnerable with no fix in progress listed. macOS is not affected (it uses a different kernel).

Fixed versions. Debian: bookworm 6.1.190-1 (DLA-4841-1), bookworm with the 6.12 kernel 6.12.113-1~deb12u1 (DLA-4850-1), trixie 6.12.113-1 (DSA-6568-1). The upstream fix is commit e3f33b0a1d89, per Debian's tracker. BleepingComputer says Oracle Linux, Amazon Linux and SUSE have released fixes for some kernels; check your vendor's page for the exact version.

Check your host. Run uname -r and compare it with your distribution's fixed version. CIQ also suggests sysctl net.mptcp.enabled to see whether MPTCP is on, but a result of 0 does not mean you are safe.

If you cannot patch yet. Restrict who can reach the service to trusted networks. CIQ publishes an nftables rule that drops IPv4 TCP packets whose header is longer than the standard 20 bytes, which are the packets carrying IP options. CIQ warns it also drops legitimate traffic that uses IP options, that restarting nftables.service can flush it, and that its tests covered only Record Route and Timestamp options from a host on the same network. Test it on one non-production host first. Red Hat's page lists no mitigation.

What happened

The flaw sits in how the kernel hands a pending connection to the socket that will serve it. According to the Ubuntu and Debian descriptions, tcp_v4_syn_recv_sock() transfers ownership of the request's IP options to the new child socket without copying them. If a retransmitted SYN arrives on another CPU, that CPU can still be reading those options while it builds a SYNACK reply. If the child socket is freed in the meantime, the options are released with a plain kfree(), and the other CPU then reads freed memory in ip_options_build(). A similar race exists when request sockets are migrated between listeners. The migration case applies when net.ipv4.tcp_migrate_req is enabled or a BPF reuseport program of type BPF_SK_REUSEPORT_SELECT_OR_MIGRATE is used, per BleepingComputer.

The fix frees the options with kfree_rcu() in inet_sock_destruct() and tcp_v4_reqsk_destructor(). The IPv6 variant of the migration problem is to be handled in a separate patch. Ubuntu's page shows the CVE was published on 15 October 2026.

Anthropic's research post, dated 27 October 2026, describes an exploit built against a server with an MPTCP listener. It calls the target a "remote, zero-click" attack that runs arbitrary commands as root. It has two stages: defeating kernel address space layout randomisation (KASLR) by leaking a kernel pointer through an overread, then overwriting a callback pointer with the address of a payload staged in kernel memory. The post says the proof of concept takes 48 minutes to leak the pointer and another five minutes to reach the shell command, so about 53 minutes in total (the post itself does not state the sum). It attributes the work to Claude and describes the model as an unreleased internal research model. A lost race only fails the handshake, so an attacker can try again, which the post calls an enabling property.

Background

KASLR randomises where kernel code and data sit in memory so that an attacker who corrupts memory does not know where to point. A use-after-free that also leaks a pointer is the classic way around it. What makes this case notable is the path: the vulnerable code is the ordinary IPv4 TCP handshake, reachable before any authentication, rather than an obscure driver.

MPTCP lets one connection use several network paths. BleepingComputer notes it is not usually enabled in applications, but Go 1.24 and later enable it by default for TCP listeners on Linux when the kernel supports it, so some Go services may have MPTCP listeners without their operators knowing. Go's GODEBUG documentation, linked in that article, describes the setting.

Anthropic's post says coordinated disclosure gave developers 90 days to patch, plus 45 days before details beyond the public advisory were discussed.

How the severity scores compare

The scores do not agree, and the sources note it:

  • The kernel.org CNA scores the flaw 9.8; Ubuntu also lists 9.8 and rates it High priority.
  • CIQ says upstream scores it 8.1 and that NVD shows only the CNA score.
  • Red Hat's page lists 9.8 (vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) as preliminary, and describes the issue as primarily a crash leading to denial of service or potential memory corruption. BleepingComputer reported a Red Hat score of 5.9 and a denial-of-service classification because exploitation is complex; we could not match that figure on the Red Hat page we opened, so treat it as unconfirmed.

What it means

For administrators, the practical risk depends on exposure. A server that answers TCP on a public IPv4 address is in scope whether or not MPTCP is on. The public demonstration targets an MPTCP listener, and BleepingComputer notes that remote code execution has not been publicly shown against servers without one. Crashes from the same race are a lower bar and need no such listener.

For vendors, the gap is the story: the CVE was published on 15 October, and as of 30 October Ubuntu's supported LTS releases and CIQ's Rocky-based products still lacked released kernels, while Debian had shipped. For the wider industry, Anthropic's post is another data point that AI models can now take a kernel bug from advisory to working exploit in under an hour, which shortens the time defenders have between disclosure and attack.

What we don't know yet

  • Whether anyone is exploiting this in the wild. BleepingComputer reports no confirmed exploitation as of 30 October.
  • Whether the exploit works without an MPTCP listener, and how reliably it works on typical distribution kernels.
  • Which kernel flavors beyond those listed are affected: Ubuntu's page is truncated, and the exact first affected version is not given on the pages we opened.
  • The true severity: the scores above range from 8.1 to 9.8, and vendors differ on whether the realistic outcome is a crash or code execution.

What to watch next

Watch your distribution's security tracker for kernel updates (Ubuntu, Red Hat, Rocky and the CIQ errata), the separate IPv6 patch, any change to the NVD score, and whether Anthropic or others publish the exploit code. If you run Go services, check whether MPTCP is on. After patching, reboot, because a kernel fix does not apply to the running kernel.

Sources

Written by

audiotale.net team

The official account of the people who run audiotale.net: announcements, conversation starters and the newsroom's drafts. Posts written with AI say so. Every other account here is a real person.