
Anthropic announced on October 27, 2026 that it had demonstrated an attack on a flaw in the Linux kernel’s IPv4 TCP code (CVE-2026-98432) that runs commands as root, remotely and without authentication (Anthropic). The kernel’s CVE assigner rates the severity 9.8 out of 10 (CVE record).
The headline “root without authentication” is accurate. But the demonstration had conditions. This article sets out those conditions, how to check whether your own servers are in scope, and where each distribution stands, all from primary sources. The information is current as of October 30, 2026.
| Date (2026) | Event | Source |
|---|---|---|
| September 25 | The CVE number is reserved | CVE record |
| October 15 | The CVE is published | CVE record |
| October 27 | Anthropic publishes its demonstration (in one post alongside demonstrations on Chrome, Safari, Android and Windows) | Anthropic |
| October 29 | Ubuntu, SUSE and Amazon Linux update their status. SUSE releases fixes for some products. The Go team posts a note on MPTCP to oss-security | the vendor pages below, oss-security |
| October 30 | The CVE record is updated | CVE record |
The flaw arrived with the change that puts connection requests received via SYN into a hash table (commit 079096f103fa), which is in kernel 4.4 (CVE record).
According to the CVE description (CVE record):
kfree(), the freed memory is usedThe fix changes the free to kfree_rcu(), which waits until other CPUs have finished reading. IPv6 is not affected by the first issue. The same kind of problem in request migration is to be fixed in a separate patch (CVE record).
As possible results, the CVE description lists disclosure of kernel memory, out-of-bounds writes, hijacked control flow and a crash.
Anthropic’s post contains five demonstrations, and Linux is one of them (the others are Chrome, Safari, Android and Windows). What it says about Linux (Anthropic):
Anthropic presents this as a demonstration. It is not a report that someone was attacked. A caveat for the post as a whole says that humans gave the initial prompts for these attack chains.
The post does not say whether the exploit code has been released or withheld (as far as I read). The Go team’s oss-security message refers only to an exploit “described by Anthropic”, and does not include the code (oss-security). Whether it is public is not confirmed.
| What the headline says | What primary sources confirm |
|---|---|
| Without authentication | True. It happens while the connection is being set up, before any application authentication (CVE record) |
| Root privileges | Achieved in Anthropic’s demonstration, which was a lab result against a server with an MPTCP listener (Anthropic) |
| Severity 9.8 | The rating from the kernel’s CVE assigner and NVD. Red Hat, SUSE and Amazon Linux rate it 8.1, with attack complexity “high” (Red Hat, SUSE, Amazon Linux) |
| Linux | Kernels from 4.4 are affected. But the demonstration’s condition was an MPTCP listener. The flaw exists without MPTCP, and similar attacks have not been ruled out (oss-security) |
For how to read the gap between a headline and the primary sources, see also the PHP2Shell article.
Red Hat describes the possible result as “a crash (denial of service) or possible memory corruption”, and says no mitigation is available (Red Hat).
The gap in ratings is a difference over whether attack complexity is low or high. I could not confirm whether each vendor explains its reasoning in the pages I read. Anthropic says a lost race can be retried. Either way, this is worth fixing first.
MPTCP is a TCP extension that lets one connection use several paths. Anthropic’s demonstration required an MPTCP listener.
The easy-to-miss case is Go. Programs built with Go 1.24 or later make their listening sockets MPTCP by default on Linux (the Go security team’s description; oss-security). A web server, reverse proxy or API gateway written in Go may be an MPTCP listener without anyone knowing.
The workarounds the Go team gave on oss-security (oss-security):
GODEBUG=multipathtcp=0 at runtimegodebug multipathtcp=0 to go.mod at build timeSetMultipathTCPThe Go team itself calls this approach fragile: leaving a single MPTCP listener exposed still leaves the system vulnerable. It considers changing Go’s default behavior premature for now (oss-security).
Status as read on each vendor’s page on October 30, 2026.
| Distribution | Status | Source |
|---|---|---|
| Debian | Fixed. bookworm 6.1.190-1 (security update), bookworm (linux-6.12) 6.12.113-1~deb12u1, trixie 6.12.113-1. The versions in the regular repository (bookworm 6.1.176-1, trixie 6.12.107-1) are vulnerable | Debian |
| Ubuntu | 26.10, 26.04, 24.04 and 22.04 are vulnerable, with work in progress. 20.04, 18.04 and 16.04 are vulnerable. 14.04 is not affected. Priority is “High” | Ubuntu |
| SUSE | Fixes released for SLES 16.0 and 15 SP6, SP5, SP4 (LTSS). SLES 15 SP7 and 12 SP5 are affected and awaiting fixes. Overall state is “Pending”. SUSE rates it important (8.1) | SUSE |
| Amazon Linux | AL2023 kernel6.12 and kernel6.18 are fixed. The standard AL2023 kernel and Amazon Linux 2 are awaiting fixes. Rated important (8.1) |
Amazon Linux |
| Red Hat | Rated 8.1. No mitigation. The page I read has no table of fix status per RHEL version, so I could not confirm it | Red Hat |
“The upstream kernel is fixed but my server is not” is a real situation on Ubuntu and others right now. Anthropic’s statement that the fix was backported to all maintained stable branches is about the upstream kernel. Distributions pull it into their own kernels at a separate stage. “It should be fixed, but it is not” also happened with the GitLab flaw the same week.
Distribution kernels can carry a fix under a different version number from upstream. Do not decide by the number alone. Check each vendor’s advisory.
uname -r
Compare that with the vendor pages in the table above. Start with servers exposed to the internet.
sysctl net.mptcp.enabled
ss -Mltn
If ss -Mltn shows an MPTCP listener, you meet the condition of the demonstration (this method comes from KrakenD’s article, not from an official guide). Containers use the host’s kernel, so updating a container image does not fix this. Update the host kernel.
After a kernel update, the old kernel keeps running. You need to reboot (or, if you use live patching, confirm it has been applied).
None of these makes you safe. They only buy time.
net.mptcp.enabled=0; for Go programs, GODEBUG=multipathtcp=0). This removes the demonstration’s precondition, but the flaw remainsRed Hat says no mitigation is available (Red Hat).
I could not confirm any report of exploitation, but the public information is complete. Check the following.
If you’d like help checking your servers’ kernels, updating, or checking for intrusion, get in touch.
We are currently taking free consultations on security. Questions like "Is our site safe?" or "Where should we start checking?" are welcome.
