SCTPhantom (CVE-2026-64564): 18-Year-Old Use-After-Free in Linux Kernel SCTP ASCONF Handling Enables Local Privilege Escalation

SCTPhantom (CVE-2026-64564) (TL-2026-1949), also tracked as SCTPhantom, is a high-severity software vulnerability scored CVSS 8.5, first published 2026-08-09. It has no confirmed attribution, affects Linux Kernel Linux Kernel (net/sctp ASCONF handling), references 1 CVE (CVE-2026-64564), maps to 12 MITRE ATT&CK techniques (T1003.008, T1068, T1078.003), and is covered by 9 detection rules and 21 indicators of compromise.

Key facts for TL-2026-1949

Threat ID
TL-2026-1949
Also known as
SCTPhantom
Severity
HIGH
CVSS
8.5 (CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N)
Status
ACTIVE
Category
VULNERABILITY
First published
2026-08-09
Last reviewed
2026-08-09
Attribution confidence
LOW
Motivation
UNKNOWN
Detection rules
9
Indicators of compromise
21
Updates
2026-08-09 · revalidated 1× · latest source

Tencent Zhuque Lab's Corvus AI research pipeline disclosed CVE-2026-64564 ("SCTPhantom"), an 18-year-old use-after-free in the Linux kernel's SCTP ASCONF (RFC 5061) dynamic-address-reconfiguration handling that lets a local, unprivileged attacker escalate to root and, in some configurations, escape containers to the host. No public exploit code exists and the flaw is not in CISA's KEV catalog, but fixes are already shipping in stable kernels and major distributions.

How SCTPhantom (CVE-2026-64564) works

CVE-2026-64564 ("SCTPhantom") is a use-after-free (CWE-416) in the Linux kernel's SCTP Dynamic Address Reconfiguration (ASCONF, RFC 5061) code, in `net/sctp/sm_make_chunk.c`. The root cause is an identity mismatch between two values used during ASCONF DEL-IP processing: the IPv4 packet source address (S), used for the DEL-IP validation check, and the Address Parameter (L) inside the chunk, used to select the actual transport object. A single, ordered ASCONF sequence -- add address L, DEL-IP L, then a wildcard DEL-IP 0.0.0.0 -- frees `transport(L)` while the wildcard delete still caches a stale pointer to that freed transport in the association's `primary_path`/`active_path` fields, so later socket operations dereference freed kernel heap memory. The vulnerable logic traces to kernel commit `42e30bf3463c`, merged in Linux 2.6.25 (per Tencent Zhuque Lab and cybersecuritynews.com, "December 2007"), making it roughly 18 years old at disclosure.

Tencent Zhuque Lab (via its Corvus AI automated vulnerability-research pipeline, combining coding agents with multi-agent coordination) built and privately validated a full local-root exploit chain: (1) trigger the UAF with a crafted multihomed-association ASCONF sequence (`socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP)`), then call `getsockopt(SCTP_STATUS)` to dereference the freed transport once its RCU grace period elapses; (2) reclaim the freed `sctp_transport` object (a kmalloc-1024 slab allocation) using a TPACKET_V1 packet-socket ring buffer (`pg_vec`), establishing a dual userspace/kernel virtual mapping onto the same physical page, then use `SCTP_STATUS` to read page-pointer fields back out as transport fields, disclosing a kernel direct-map address; (3) use the hijacked `transport->asoc` pointer with `sctp_assoc2id()` as an arbitrary 4-byte kernel-memory read primitive; (4) read IDT gate 0 from the fixed per-CPU entry area -- a read that bypasses UMIP (User-Mode Instruction Prevention) -- to reconstruct the runtime address of the `asm_exc_divide_error` handler and derive the kernel text KASLR slide; (5) reclaim the dangling transport a second time with attacker-controlled SCTP authentication-key data to build a fake kernel object graph whose fake address-family operations point at `commit_creds()`, then trigger execution via `setsockopt(SO_LINGER)` followed by `close()`, which drives an SCTP ABORT down the packet-output path into the fake handler -- a data-oriented technique that invokes only existing kernel code paths, avoiding conventional shellcode or ROP chains, and yields root; and (6) on container hosts, enable `SCTP_ASCONF_SUPPORTED` and `SCTP_AUTH_SUPPORTED` per-socket (removing the need for the addip sysctls or CAP_NET_ADMIN/CAP_SYS_ADMIN) and abuse `call_usermodehelper_exec()` with a crafted `subprocess_info` to execute in the host's initial namespaces, achieving container-to-host escape. Tencent reports achieving root in six of eight attempts (75%) while default seccomp profiles, LSM policies, and user-namespace restrictions remained in place -- the two failures were clean pointer-walk misses rather than kernel panics. The Corvus AI pipeline itself automates kernel-tree navigation, PoC iteration, kernel build/boot cycling, sanitizer analysis, and crash triage. Tencent notes "no one outside the lab has reproduced any of that," and that runtime, seccomp, and namespace policy choices materially affect real-world exposure.

Tencent's public write-up documents the exploit engineering in granular detail beyond the six-step summary. The UAF-triggering ASCONF sequence first forces the targeted secondary transport into ACTIVE state by demanding heartbeats, then disables heartbeats on that path and the remaining paths before firing the wildcard DEL-IP; the exploit also blackholes the spoofed source address used in the ASCONF packet so a stray ASCONF-ACK cannot allocate a replacement transport and corrupt the heap-grooming layout. The reclaim step uses a TPACKET_V1 transmit ring built from 128 blocks sized to match the freed 1024-byte `pg_vec` array against the vacated `sctp_transport` slot, and pins receive processing, the RCU callback, and the reclaim allocation to the same per-CPU slab path for determinism; `SCTP_STATUS` then reads the reclaimed ring's page-pointer bytes back out through the transport's `srtt` and `cwnd` fields, disclosing a single 64-bit kernel direct-map address that aliases the same physical page as a userspace mapping. The arbitrary 4-byte read primitive works by setting `transport->asoc` to `target_address - offsetof(struct sctp_association, assoc_id)`, so a subsequent `SCTP_STATUS` call returns the value at the target address via the `assoc_id` field; every read is validated against canonical-address and known-value checks, and the exploit requires a reclaim to return a marker such as `0x1337beef` before proceeding, rejecting any attempt that fails those checks. The final trigger -- `setsockopt(SO_LINGER, {on=1, linger=0})` followed by `close()` -- forces an abortive SCTP ABORT down `sctp_transport_route()` into the fake `af_specific->get_saddr` function pointer, invoking `commit_creds()` on a fully attacker-controlled `cred` structure. Tencent verified root by diffing access to `/etc/shadow` before and after the trigger and by creating a root-owned file under `/root`. The container-escape variant is confirmed to work with the default seccomp profile active and neither `CAP_NET_ADMIN` nor `CAP_SYS_ADMIN` granted to the container, using `call_usermodehelper_exec()` with the crafted `subprocess_info` structure so the resulting usermode-helper process runs in the host's initial namespaces.

Tencent validated root-level exploitation against Linux 7.2-rc2, OpenCloudOS 6.6.119, Debian 13 (kernel 6.12.95), Rocky Linux 9 / RHEL 9 (kernel 5.14 with the sctp module loaded), and Ubuntu 24.04 (kernel 6.8.0-134). openKylin's own advisory, by contrast, scoped the issue to kernel-panic/denial-of-service impact only, illustrating that assessed impact varies by vendor and build. Tencent self-rates the flaw CVSS v4.0 8.5 (High) -- `CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`; as of August 7, 2026 NVD had not yet published its own CVSS score or CWE classification for the CVE.

CVE-2026-64564 was assigned August 4, 2026 and publicly disclosed August 6, 2026 alongside Tencent's technical write-up. The upstream fix (commit 9b2854f86f0b, rejecting any DEL-IP request that targets the transport still referenced by the current ASCONF chunk) landed in Linux 7.2-rc5 and was backported to stable branches 6.6.148, 6.12.101, 6.18.42, and 7.1.6, which shipped August 3, 2026 -- one day before the CVE was even assigned. Notably, a second, related dangling-transport use-after-free in the same ASCONF code path was found and patched on August 6, 2026, after those stable releases had already shipped, so hosts running only the August 3 stable builds are still missing this second fix. Debian shipped DSA-6415-1 on August 6, 2026 (linux 6.12.101-1 for Debian 13/trixie), bundling CVE-2026-64564 with 27 other kernel CVEs. As of publication (August 7-8, 2026), no public proof-of-concept exploit code had surfaced, and the CVE is not listed in CISA's Known Exploited Vulnerabilities catalog.

MITRE ATT&CK techniques used in TL-2026-1949

Credential Access

T1003.008 /etc/passwd and /etc/shadow

Privilege Escalation

T1068 Exploitation for Privilege Escalation; T1611 Escape to Host

Initial Access

T1078.003 Local Accounts

Discovery

T1082 System Information Discovery; T1518 Software Discovery

Execution

T1106 Native API

Defense Evasion

T1211 Exploitation for Defense Evasion

Impact

T1499.004 Application or System Exploitation

Resource Development

T1587.004 Exploits; T1588.006 Vulnerabilities

Reconnaissance

T1595.002 Active Scanning

privilege-escalation

T1611 Escape to Host

Affected products and versions in SCTPhantom (CVE-2026-64564)

  • Linux Kernel — Linux Kernel (net/sctp ASCONF handling)
    Vulnerable versions: 2.6.25 through builds prior to the fix (all stable/mainline branches)
    Fixed in: 6.6.148; 6.12.101; 6.18.42; 7.1.6; 7.2-rc5
  • Debian — linux (Debian 13 "trixie")
    Vulnerable versions: prior to 6.12.101-1
    Fixed in: 6.12.101-1 (DSA-6415-1)
  • Canonical — Ubuntu 24.04 LTS kernel
    Vulnerable versions: 6.8.0-134 (confirmed exploitable by Tencent Zhuque Lab)
    Fixed in: vendor kernel update incorporating upstream commit 9b2854f86f0b
  • Red Hat / Rocky Enterprise Software Foundation — RHEL 9 / Rocky Linux 9 kernel
    Vulnerable versions: 5.14.x with the sctp kernel module loaded (confirmed exploitable by Tencent Zhuque Lab)
    Fixed in: vendor kernel update incorporating upstream commit 9b2854f86f0b
  • Tencent — OpenCloudOS kernel
    Vulnerable versions: 6.6.119 (confirmed exploitable by Tencent Zhuque Lab)
    Fixed in: 6.6.148+ backport

Remediation for SCTPhantom (CVE-2026-64564)

Patches

  • Linux stable 6.6.148
  • Linux stable 6.12.101
  • Linux stable 6.18.42
  • Linux stable 7.1.6
  • Linux mainline 7.2-rc5 (commit 9b2854f86f0b)
  • Debian DSA-6415-1 -- linux 6.12.101-1 (Debian 13 / trixie)

Immediate actions

  • Apply the vendor kernel update incorporating upstream commit 9b2854f86f0b or the relevant backport (6.6.148, 6.12.101, 6.18.42, 7.1.6, or 7.2-rc5) and reboot affected hosts.
  • On hosts that cannot patch immediately, disable SCTP by blacklisting the sctp kernel module (e.g. an `install sctp /bin/true` modprobe rule) if SCTP is not required.
  • Where SCTP is required but ASCONF/dynamic address reconfiguration is not, ensure the net.sctp.addip_enable and net.sctp.addip_noauth_enable sysctls remain disabled and are not re-enabled per-socket by applications.

Workarounds

  • Blacklist/disable the sctp kernel module on hosts that do not require SCTP.
  • Keep net.sctp.addip_enable and net.sctp.addip_noauth_enable disabled unless ASCONF/dynamic-address-reconfiguration is explicitly required.

Longer-term hardening

  • Track and apply the second, related dangling-transport use-after-free fix in the same ASCONF code path, patched August 6, 2026 -- after the August 3 stable releases, so hosts on 6.6.148/6.12.101/6.18.42/7.1.6 alone still lack this follow-up fix.
  • Harden container runtimes (seccomp profiles, user namespaces, dropped capabilities, gVisor/Kata-style isolation) as defense-in-depth against kernel-level container-escape primitives such as call_usermodehelper_exec() abuse.
  • Feed kernel UAF/memory-safety classes (CWE-416) into ongoing kernel-hardening work (KASLR strengthening, control-flow integrity, structure-layout randomization) to raise the bar against exploitation of latent bugs of this vintage.

CVEs associated with SCTPhantom (CVE-2026-64564)

CVE-2026-64564

Weaknesses (CWE) in SCTPhantom (CVE-2026-64564)

CWE-416

Timeline of SCTPhantom (CVE-2026-64564)

  • The ASCONF wildcard DEL-IP handling later found vulnerable is introduced in Linux 2.6.25 via commit 42e30bf3463c (per Tencent Zhuque Lab / cybersecuritynews.com, "December 2007"); the bug lies dormant for roughly 18 years.
  • Tencent Zhuque Lab's Corvus AI automated vulnerability-research pipeline identifies the SCTP ASCONF use-after-free; private disclosure to Linux kernel maintainers begins.
  • Tencent Zhuque Lab completes a working, privately-validated local-root exploit chain against the flaw, later documented down to specific syscalls (getsockopt(SCTP_STATUS), setsockopt(SO_LINGER), close()) and a TPACKET_V1-based heap-grooming primitive.
  • The upstream fix (commit 9b2854f86f0b, rejecting DEL-IP requests targeting the transport still referenced by the current ASCONF chunk) is merged into the Linux networking tree.
  • Tencent Zhuque Lab validates a container-to-host escape variant of the exploit using call_usermodehelper_exec() with a crafted subprocess_info structure, confirmed against a default seccomp profile with no CAP_NET_ADMIN/CAP_SYS_ADMIN granted, reaching host root in six of eight attempts.
  • Fixes are backported and shipped in stable Linux kernel releases 6.6.148, 6.12.101, 6.18.42, and 7.1.6.
  • CVE-2026-64564 is formally assigned.
  • On the oss-security mailing list, Fourie Zhang raises the CVE-2026-64564 discussion thread; researcher Solar Designer (Alexander Peslyak) follows up noting that on RHEL/Rocky Linux 9 the sctp and sctp_diag kernel modules are blacklisted by default and ship only in the optional kernel-modules-extra subpackage, narrowing real-world exposure to systems that deliberately deploy SCTP.
  • Debian issues DSA-6415-1, a kernel security update addressing CVE-2026-64564 among 28 kernel CVEs, shipping linux 6.12.101-1 for Debian 13 (trixie).
  • Tencent Zhuque Lab publishes its public "SCTPhantom" technical write-up, including the granular exploit engineering (heap-grooming determinism via CPU-affinity pinning, spoofed-source blackholing, and a 0x1337beef reclaim-validation marker); a second, related dangling-transport use-after-free in the same ASCONF code is found and patched, after the August 3 stable releases had already shipped, leaving those builds without this follow-up fix.
  • GBHackers, The Hacker News, and CyberSecurityNews publish coverage of the disclosure; CVE-2026-64564 remains absent from CISA's KEV catalog and no public exploit code has surfaced.
  • NVD's record for CVE-2026-64564 is updated with an independently generated, kernel.org-sourced CVSS v3.1 vector of 9.8 (Critical, AV:N) that conflicts with Tencent's local-attack-vector v4.0 assessment (8.5 High, AV:L); the discrepancy is inconsistent with the vulnerability's local-only exploitation requirement described in every technical source, and NVD's record still carries no independent CWE assignment.

Update history for TL-2026-1949

Sources cited for SCTPhantom (CVE-2026-64564)

Threats related to SCTPhantom (CVE-2026-64564)

Detection coverage for TL-2026-1949

As of 2026-08-09, Threadlinqs Intelligence publishes 9 detection rule(s) for TL-2026-1949 across Splunk SPL, Microsoft KQL and Sigma, covering 21 indicator(s) of compromise. The whole corpus is readable without an account; a free account unlocks full detection query text in Splunk SPL, Microsoft KQL and Sigma; paid tiers add raw indicator values, correlation and the MCP server. Threadlinqs MCP server · View plans.

Threadlinqs Intelligence — Real-Time Threat Detection Platform

[ 0 threats ] [ 0 det ] [ CRIT: 0 ] [ HIGH: 0 ]
// threat_feed
$ sort --newest
Showing all threats

Latest Threats