CVE-2026-98432 is a memory-safety flaw in the Linux kernel's IPv4 TCP connection handling. Anthropic has described remote, unauthenticated root command execution against a server with a Multipath TCP (MPTCP) listener. Organisations should identify affected hosts, prioritise exposed services and verify that a vendor-fixed kernel is actually running.
Primary sources checked: . This review separates the underlying flaw, the research demonstration and evidence of attacks. Vendor scores and package availability can change. Anthropic research; Linux kernel CNA record.
Patch and verify
Distribution patch status
Choose a vendor-confirmed fix, not a version number from another distribution. Backported security changes can make an older-looking kernel safe from this specific flaw. Conversely, a fixed package on disk does not prove the host has booted into it. This is a dated snapshot, not a complete inventory of every kernel.
| Platform | Verified position | Administrator action |
|---|---|---|
| Debian | Security updates include 6.1.190-1 for Debian 12 and 6.12.113-1 for Debian 13. These are source-package versions. | Use the matching security repository and kernel package; verify after reboot. The tracker also lists a separate Debian 12 backport. |
| Oracle Linux | Verified UEK errata: ELSA-2026-500397 (Oracle Linux 7/8), 500398 (8/9) and 500399 (9/10). Match the exact UEK stream and package. | Match your UEK release to the erratum. This does not confirm every Red Hat Compatible Kernel. |
| Amazon Linux | Amazon Linux 2023 kernel6.12 and kernel6.18 have fixes. Other listed streams, including several Amazon Linux 2 kernels, remain pending. | Check the package stream and linked ALAS advisory; update affected instances and node images. |
| SUSE | Updates exist for selected product/kernel combinations; the overall tracker still shows pending work. | Match product, service pack and kernel flavour against the released-package table. |
| Ubuntu | Generic kernels for 22.04, 24.04, 26.04 and 26.10 are listed as affected, with fixes in progress. Cloud/HWE variants have separate entries. | “Work in progress” is not a released fix. Monitor the matching row and security notice; assess older releases separately. |
| Red Hat | The live API lists RHEL 8, 9 and 10, relevant real-time kernels and OpenShift node packages as Affected; RHEL 7 is listed as not affected. This check did not identify a released fixed package in that response. | Check your product stream and errata, or obtain a support statement. Portal and API wording differs; do not read “Affected” as a promised release date or automatically label every stream “Fix deferred”. |
| Rocky Linux / AlmaLinux | Distribution-specific fixed packages not verified in this review. RHEL information is relevant context, not proof that a particular rebuild is fixed or unaffected. | Check your distribution’s errata, kernel flavour and complete package revision. Request explicit CVE coverage from the vendor or live-patch provider. |
| CentOS Stream | Package status not verified here. Stream tracks ahead of RHEL development; its patch state cannot be inferred directly from RHEL. | Verify the exact Stream kernel build and published change record with the project or your support provider. |
Platform names link to primary trackers. Managed hosting customers should ask for the running kernel, matching advisory and update completion time.
Upstream fixed releases and distribution backports
The current CNA record lists fixed releases in the following branches: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 and 7.3. These are upstream baselines, not a substitute for distribution package checks. The kernel team recommends maintained releases rather than cherry-picking a single change. Current CNA record; original kernel announcement.
A patch is complete when the running host is verified
- Record the estate. Capture each owner's distribution, support channel, kernel flavour and running version. Include gateways, container hosts and standby systems. Read-only checks such as
uname -randcat /etc/os-releasehelp establish the baseline. - Confirm the fix. Record the vendor advisory and full package revision. A scanner comparing only upstream version numbers can miss backports; resolve discrepancies against vendor evidence.
- Plan a safe rollout. Test the update, confirm backups and console access, check capacity and drain clustered nodes in turn. Define health checks and a rollback plan; rollback can restore exposure.
- Activate the update. Install and reboot, or replace instances with a confirmed fixed image. An application restart or container rebuild does not replace the host kernel. Verify explicit CVE coverage before relying on live patching.
- Verify the service. Compare the running kernel with the vendor-fixed package on every node. Exercise normal business traffic, check monitoring and retain evidence of the active fix.
- Close remaining gaps. Update templates, autoscaling images and recovery nodes. For any pending fix, record compensating controls, an accountable owner and the next review date.
Understand the risk
What goes wrong?
The kernel manages network connections before an application handles a request. A race can leave code reading memory containing IPv4 header options (not TCP options) after it has been freed: a use-after-free. This can cause memory corruption or disruption. The CNA traces the affected upstream lineage to Linux 4.4; backports and distribution builds must still be assessed through the vendor. Linux kernel CNA description and affected versions.
The advisory also describes a request-socket migration variant associated with net.ipv4.tcp_migrate_req=1 or a BPF_SK_REUSEPORT_SELECT_OR_MIGRATE program. Those conditions concern the migration variant. Their absence does not rule out the separate connection-handling race.
The problem sits below website login checks and application input validation. Updating a framework alone cannot repair the host kernel. In the demonstrated root-execution scenario, potential consequences extend beyond one application to host integrity, credentials and the workloads it supports.
Which systems need attention?
Give urgent attention to reachable, affected hosts with MPTCP listeners. MPTCP allows a TCP connection to use multiple network paths. It is central to the described demonstration, but it is not the boundary of the underlying kernel bug.
The Go Security Team says Linux listening sockets use MPTCP by default from Go 1.24, subject to runtime and application configuration. Check deployed behaviour rather than assuming an ordinary-looking service uses plain TCP. Go Security Team announcement.
Our operational assessment is to prioritise internet-facing services and services reachable from untrusted networks, then address the remaining affected estate. Consider business criticality, reachable listeners, segmentation and patch availability together. An internal-only host may still be reachable by an intruder inside the network.
Containers share their host's kernel. For managed Kubernetes or hosting, establish who patches the node or host and request deployed-fix evidence. Updating only a container's user-space packages does not replace that kernel.
Read-only checks: settings and listening sockets
Run these inventory checks on the relevant host and network namespace. They query local configuration; they do not test exploitation or prove that the kernel is patched.
sysctl net.ipv4.tcp_migrate_req
sysctl net.mptcp.enabled
ss -Mln
- Request migration: a value of
1enables the sysctl-controlled migration path. A value of0does not exclude a BPF-controlled migration policy. Ask the platform owner to check whether a reuseport-migrate program is attached; unrelated BPF programs are not evidence of this condition. - MPTCP configuration:
net.mptcp.enabled=1permits MPTCP sockets in that namespace. It does not establish that an MPTCP listener exists or that external traffic can reach it. - Listener inventory: the
ssquery (short formss -Mln) lists MPTCP listeners where the installed kernel and tools support it. Review bind addresses, routing and access controls separately. Check every relevant namespace and deployed service. - Unknown is not safe: a failed command, missing sysctl, unsupported
ssoption or insufficient visibility leaves the result unknown. An empty successful listing is only a snapshot of that namespace. Neither result overrides the vendor’s affected-kernel assessment.
References: kernel TCP sysctls, MPTCP sysctls and the ss manual. These are checks, not instructions to change production settings.
Why do the severity scores differ?
The difference is not only race complexity. Assessments also differ on which confidentiality and integrity impacts are established for particular products. Keep the source, scoring version and product context beside the number.
| Source | Assessment | What differs |
|---|---|---|
| Kernel CNA | 9.8 Critical | Low complexity; high confidentiality, integrity and availability impacts. |
| Red Hat API | 8.1; Important; draft | Returned by the live API at this review time. High complexity and high confidentiality, integrity and availability impacts. Portal readings differ; treat the assessment as unsettled. |
| Amazon, Oracle, SUSE | 8.1; Important | High complexity, while retaining high impacts in all three categories. |
| Ubuntu | High priority; CVSS v3.1 9.8; v4.0 8.3 | Priority and CVSS are separate measures. The v4.0 assessment includes attack requirements and lower confidentiality/integrity impacts. |
| NVD | No independent NVD score at this check | The NVD API status is “Received”; its 9.8 entry is attributed to the Linux kernel CNA, not an NVD assessment. |
CNA v3.1 vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. The 8.1 v3.1 assessments use AC:H. SUSE separately publishes CVSS v4.0 9.2, while Ubuntu publishes v4.0 8.3; compare vectors within the same version. Oracle labels its 8.1 metrics preliminary.
Why is the Red Hat figure qualified?
Our earlier article gave 5.9 Moderate based on a portal rendition, which is still present in indexed portal material. The live JSON API retrieved for this review instead gives 8.1 Important with status “draft”. The portal also warns of incomplete section loading. We cannot establish a reliable revision sequence, so we have removed the statement that 5.9 replaced 8.1 and use the timestamped API result with this qualification. Confirm the current portal, API and product errata before making a deployment decision.
A lower score is not a patch exemption. Equally, a 9.8 base score does not demonstrate an identical route to root access on every affected configuration.
Evidence and interim controls
What has actually been demonstrated?
Research result: Anthropic's 27 October publication describes unauthenticated remote-root execution against an MPTCP listener. Public exploit availability: this review has not verified a publicly released, complete end-to-end remote-root exploit. A written demonstration or third-party partial toolkit is different evidence. Research publication.
The primary sources reviewed do not establish in-the-wild exploitation. We downloaded the CISA KEV feed again on 30 October 2026 at 17:29 UTC. The returned catalogue was version 2026.10.29, released 29 October at 19:09 UTC, and contained no entry for this CVE. The retrieval time and feed publication time are different. Absence from KEV does not prove that attacks have not occurred; consult the current catalogue.
This evidence does not demonstrate remote-root execution against every ordinary TCP listener. However, the Go team warns that other attack paths may exist because the underlying bug is not MPTCP-specific. Go Security Team guidance.
What can you do while a patch is pending?
- Reduce reachability: remove unnecessary public listeners and restrict services that can operate with trusted-source access. Test essential business and management connections.
- Review MPTCP: the Go team documents
GODEBUG=multipathtcp=0to change a Go process's default. Explicit per-socket settings can override it. Test, restart or redeploy as appropriate, and verify the resulting listeners. - Retain the limitation: disabling MPTCP is a fragile, partial measure. A missed listener remains exposed to that path, and the kernel defect remains. It is not a patch.
- Seek product-specific advice: do not assume a WAF, generic filtering rule or global setting completely mitigates this flaw. Red Hat lists no mitigation meeting its deployment and stability criteria.
Sources: Go Security Team; KrakenD's application-specific validation; Red Hat.
Monitoring and incident response
Do not wait for a crash. Anthropic reports that a lost race can fail the handshake without crashing the system, allowing repeated attempts. Its research run took approximately 53 minutes in total; that is one experimental result, not a dependable detection window or a time-to-compromise prediction. Research observations.
- Correlate network anomalies where telemetry exists: unusual concentrations of failed handshakes, SYN retransmissions or traffic containing IPv4 header options may warrant investigation. Retransmissions also occur during ordinary packet loss, and these are investigation leads, not validated CVE-specific signatures.
- Check telemetry coverage: flow records and application logs may omit handshake details and IPv4 header options. Confirm what existing network sensors actually record; do not assume missing records mean no attempts occurred.
- Review host evidence: correlate network findings with unexpected privileged processes, new persistence, credential use, service changes and any kernel faults. A crash alone does not identify this CVE, and no crash does not clear a host.
If compromise is suspected, preserve evidence, involve your response team and follow controlled containment and recovery. A kernel update does not establish that an already compromised host is trustworthy. Investigate possible credential exposure and rebuild from trusted sources where required.
Questions and sources
Frequently asked questions
Does no MPTCP listener mean we are unaffected?
No. It removes a condition of the described demonstration, not the kernel defect. Determine affectedness from the vendor advisory and continue the patch plan.
Must we reboot after installing the update?
Normally, yes. Installing a kernel does not replace the running one. A live-patch exception needs provider confirmation that the active patch covers this CVE on your exact kernel. Record evidence rather than assuming coverage.
Will HTTPS, a WAF or a reverse proxy fix it?
No. TCP handling sits below HTTP and application authentication. A proxy changes which host receives external connections, but that receiving host may itself need the kernel fix. Assess the full traffic path.
What evidence should a hosting provider supply?
Request the affected host/node inventory, kernel flavour, advisory, running fixed version and activation time. Ask how replacement and recovery images are kept fixed, and how outstanding systems are protected.
Should we try a public proof of concept on production?
No. Use vendor-supported inventory and patch verification. Triggering kernel memory corruption can disrupt the host and is unnecessary to establish that a listed kernel needs updating.
Primary sources and review notes
Our prioritisation and checklist are operational guidance, not a claim that ProCheckUp independently reproduced the exploit. Recheck vendor statuses before deployment decisions.
View the research sources
- Linux kernel CNA record
- Kernel announcement — 15 October
- NVD record
- Anthropic — 27 October
- Go Security Team announcement
- Red Hat assessment
- Amazon Linux tracker
- Ubuntu tracker
- Debian tracker
- Oracle Linux errata
- SUSE package matrix
- KrakenD guidance — 30 October
- Red Hat live security-data API — timestamped scoring and package states, compared with the portal.
- NVD API record — assessment status and metric attribution.
- Linux TCP settings; MPTCP settings; ss reference — local inventory checks.
Need to establish your Linux exposure?
ProCheckUp can help review your external attack surface, assess remediation priorities and verify security improvements. Bring your host inventory, vendor advisories and patch evidence to a scoped discussion.


Categories