FR
live

SCTPhantom, the 18-Year-Old Linux SCTP Flaw That Hands Attackers Root and Breaks Container Isolation

A use-after-free bug in the Linux kernel’s SCTP stack, dormant for 18 years and now tracked as CVE-2026-64564, lets a local attacker escalate to root and escape containers. Patches landed August 4, 2026 — kernel updates are not optional.

SCTPhantom vulnerability in the Linux kernel — ETTAYEB illustration

On August 4, 2026, the TencentOS Security Team disclosed CVE-2026-64564, a Linux kernel vulnerability now called SCTPhantom. The vulnerable code was introduced in Linux 2.6.25, shipped in December 2007 — it took nearly 18 years to find. The flaw yields local privilege escalation to root and, more critically, reliable container-to-host escape. It was validated against Ubuntu 24.04, Debian 13, Rocky Linux 9, and kernels from 5.14 up through a 7.2 release candidate, earning a CVSS 4.0 score of 8.5.

The culprit is SCTP (Stream Control Transmission Protocol), a lesser-known TCP cousin designed for telecom signaling that almost nobody uses — but nearly everyone compiles into their kernel anyway.

An Identity Mismatch Inside ASCONF

The bug lives in SCTP’s Dynamic Address Reconfiguration feature, defined by RFC 5061. This extension lets an SCTP association add, remove, or reconfigure network paths on the fly via ASCONF chunks. The address-deletion logic (DEL-IP) validates the delete operation using the packet’s source address, while a separate cached pointer relies on the address parameter that was used to select the actual network transport.

A local attacker can craft an ordered ASCONF sequence: specify an address, request its deletion, then send a wildcard delete. The kernel removes the corresponding transport, but a stale pointer remains in the association’s active path and primary path fields. A subsequent socket operation dereferences this freed memory — the use-after-free condition is live.

TencentOS researchers, armed with their autonomous vulnerability-hunting system Corvus AI, turned this raw memory bug into a full exploit chain. Their approach reclaims the freed transport using a packet socket ring buffer, which leaks a kernel memory address in the process. That leak enables a repeatable four-byte kernel read, used to defeat KASLR by inspecting the interrupt descriptor table (IDT).

A second use-after-free is then triggered with attacker-controlled SCTP authentication key data, constructing a fake kernel object graph that ultimately calls commit_creds — granting global root, all without shellcode or a traditional ROP chain.

Container Escape Is the Real Threat

The most troubling demonstration is the container escape. By using per-socket SCTP options instead of system-wide sysctls, the exploit avoided needing elevated capabilities. It broke out of containers running default seccomp profiles in six out of eight attempts, ultimately triggering a usermode-helper process executing in the host’s initial namespace.

For a multi-tenant Kubernetes node, this means a single compromised container lets an attacker pivot to every other workload on that node, then to the host itself.

The affected surface is broad because SCTP is enabled by default in virtually every distribution kernel. The good news: the fix was merged upstream as commit 9b2854f86f0b and backported to stable branches 6.6.148, 6.12.101, 6.18.42, and 7.1.6.

Immediate Action Plan

ContextPriority Action
Kernel < 6.6.148Update immediately — exploitable without special capabilities
Kernel 6.12.xUpgrade to ≥ 6.12.101
Kernel 7.xUpgrade to ≥ 7.1.6
Multi-tenant Kubernetes nodesApply patch + audit seccomp profiles
Shared bare-metal serversCritical priority — any local user can become root

If you cannot update immediately, disable the sctp module (modprobe -r sctp then blacklist it in /etc/modprobe.d/) if your workload allows. In Kubernetes, deploy a PodSecurityPolicy or seccomp profile that blocks SCTP syscalls (socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP)).

SCTPhantom surfaces an uncomfortable truth: the Linux kernel’s networking code is a living museum. Every protocol you leave compiled in “just in case” is an attack surface that can sleep for two decades. Configuration minimalism is not an aesthetic preference — it is a security policy.

References

The cyber brief, every Tuesday

The flaws that matter and the patches to apply, in a ten-minute read.

No spam. One-click unsubscribe.
read next

On the same topic

NatJack hijacks TCP sessions and spoofs DNS by manipulating NAT tables — Black Hat 2026 exposes a universal design flaw

On August 6, 2026, researcher Malcolm Stagg presented NatJack at Black Hat USA — a new attack class that manipulates NAT connection state to hijack active TCP sessions, spoof DNS responses, expose mapped ports, and exhaust NAT tables. Windows, Linux, and consumer routers are all vulnerable — because the flaw is in the concept of NAT itself, not any one implementation.

← Back to the feed

Type at least two characters.

navigate open esc dismiss