Like leaving a trap door in a room nobody enters — the kernel flaw is real but SCTP is a ghost protocol on most fleets
CVE-2026-64564 is a use-after-free vulnerability in the Linux kernel's SCTP (Stream Control Transmission Protocol) ASCONF chunk processor. The function sctp_process_asconf() caches the current transport pointer in asconf->transport. An attacker can craft a malicious ASCONF block that specifies an Address Parameter pointing to address L, then issues a DEL-IP for L (which passes the RFC 5061 D8 source-address protection check because L is *not* the packet's source address), followed by a wildcard DEL-IP (0.0.0.0). The first DEL-IP calls sctp_assoc_rm_peer() which frees the transport cached in asconf->transport, leaving a dangling pointer. Subsequent ASCONF parameter processing dereferences freed memory, planting dangling pointers into asoc->peer.primary_path and active_path. The bug affects any kernel with CONFIG_IP_SCTP compiled in or loaded as a module. The fix landed in the net-next tree (commit 9b2854f) on approximately 2026-08-04 and is pending stable backports.
There is no vendor CVSS score for this CVE yet — NVD has not scored it as of 2026-08-07. The use-after-free primitive is genuinely dangerous: kernel UAFs in network protocol handlers have historically been weaponizable for remote code execution or at minimum denial of service via kernel panic. However, the severity is fundamentally gated by the fact that SCTP is blacklisted by default on RHEL, RHCOS, and most hardened enterprise distributions. The module must be explicitly loaded, and an active SCTP association must exist for the attacker to deliver the crafted ASCONF chunk. For the vast majority of enterprise fleets, this vulnerability has zero exposure.
3 steps from start to impact.
SCTP module must be loaded and association active
sctp.ko) with at least one active SCTP association. SCTP is used primarily in telecom (SS7/SIGTRAN, Diameter), some Kubernetes bare-metal CNI configurations, and WebRTC signaling. The attacker must be able to send SCTP packets to this host on a port with an active association.- Target kernel has CONFIG_IP_SCTP=y or sctp.ko loaded
- Active SCTP association exists on target
- Network reachability to SCTP port
- SCTP is blacklisted by default on RHEL 8+, RHCOS, and CIS-hardened distros
- Most enterprise servers never load the SCTP module
- Firewalls rarely permit SCTP (IP protocol 132) through perimeter
lsmod | grep sctp or checking /proc/net/sctp/assocs identifies exposed hosts. Nmap SCTP INIT scan (nmap -sY) can detect listening SCTP endpoints.Craft malicious ASCONF chunk with DEL-IP sequence
- Knowledge of a secondary bound address (L) on the target association
- Ability to craft raw SCTP packets
- Requires knowledge of association state (VTAG, secondary addresses)
- No public PoC exists as of 2026-08-07
- SCTP ASCONF requires the ASCONF capability to be negotiated during association setup
Use-after-free triggers kernel panic or code execution
asconf->transport — which was freed by the first DEL-IP's call to sctp_assoc_rm_peer(). This dereferences freed memory. The immediate impact is a kernel panic (denial of service). Exploitation for arbitrary code execution would require heap grooming to reclaim the freed transport structure with attacker-controlled data — possible but non-trivial in the kernel SCTP allocator context.- Steps 1 and 2 completed successfully
- Kernel heap layout makes reliable code execution difficult without significant exploit development
- KASLR, SMEP, SMAP, and kCFI on modern kernels raise the exploitation bar
- Kernel panic (DoS) is the most likely outcome, not clean code execution
sctp_process_asconf or sctp_process_asconf_param with a freed transport pointer. kdump/crash analysis would show the UAF signature.The supporting signals.
| In-the-Wild Exploitation | No known exploitation. Not listed on CISA KEV. No campaigns or threat actor usage reported as of 2026-08-07. |
|---|---|
| Proof-of-Concept | No public PoC available. The vulnerability was disclosed via kernel patch commit with technical details sufficient to write a PoC, but none has been published on GitHub, Exploit-DB, or security research channels. |
| EPSS Score | 0.00157 (bottom ~15th percentile) — reflects extremely low predicted exploitation probability within 30 days. |
| KEV Status | Not listed. No CISA KEV entry as of 2026-08-07. |
| CVSS Vector | No vendor score assigned. noisgate estimated vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H (DoS baseline ~5.9). If code execution is proven feasible, this shifts to ~8.1. |
| Affected Versions | All Linux kernel versions with CONFIG_IP_SCTP support. The bug likely dates back to early ASCONF implementations (kernel 2.6.x era). Specific affected stable branches pending confirmation from kernel.org stable maintainers. |
| Fixed Versions | Fix committed to net-next tree (commit 9b2854f, author Jun Yang, ~2026-08-04). No stable backports released yet as of 2026-08-07. Distro packages (RHEL, Ubuntu, SUSE) have not yet shipped fixes. |
| Scanning/Exposure Data | SCTP endpoints are rare on the public internet. Shodan queries for SCTP services return orders of magnitude fewer results than TCP/UDP equivalents. Internal telecom networks are the primary exposure surface. |
| Disclosure Date | 2026-08-04 — disclosed via kernel patch to net-next tree. |
| Reporter | Jun Yang — kernel contributor, via net-next patch submission. |
noisgate verdict.
The single most decisive factor is the near-zero exposure population: SCTP is blacklisted by default on RHEL 8+ and most CIS-hardened enterprise Linux distributions, meaning fewer than 1-2% of a typical 10,000-host fleet will have the module loaded with active associations. While the use-after-free primitive is technically dangerous, the vanishing attack surface makes fleet-wide risk negligible outside telecom-specific environments.
Why this verdict
- Attack surface gating: SCTP is blacklisted by default on RHEL 8+, RHCOS, and CIS-benchmarked systems. The kernel module must be explicitly loaded and an active SCTP association must exist. This eliminates >95% of a typical enterprise fleet from exposure.
- No exploitation evidence: EPSS is 0.00157, no KEV listing, no public PoC, no known campaigns. The vulnerability was disclosed 3 days ago with the fix, limiting attacker lead time.
- Exploitation complexity: Even when SCTP is active, the attacker needs knowledge of association state (VTAG, secondary bound addresses) and must negotiate ASCONF capability. Kernel heap grooming for RCE adds further complexity beyond the trivial DoS/panic outcome.
- Role multiplier: (a) *Low-value role (workstations, dev machines):* SCTP never loaded — not affected. (b) *Typical role (app servers, web servers):* SCTP not loaded — not affected. (c) *High-value role (telecom core, Diameter nodes, some k8s bare-metal with SCTP CNI):* Chain succeeds, blast radius is host-level DoS or potential host compromise. However, this high-value role represents well under 1% of the general Linux installed base. Telecom-specific fleets where SCTP is canonical should treat this as HIGH.
- Network friction: Perimeter firewalls and cloud security groups almost never permit IP protocol 132 (SCTP) inbound. Even where SCTP is used internally, it is typically isolated to dedicated telecom network segments.
Why not higher?
Elevating to HIGH would require either (a) active exploitation / KEV listing, (b) a public PoC lowering the exploitation bar, or (c) evidence that ≥1% of the general enterprise Linux installed base runs active SCTP associations. None of these conditions are met. The high-value role (telecom infrastructure) where the chain succeeds represents a specialized vertical, not a general enterprise deployment pattern. SCTP's default-blacklisted status on major enterprise distros is a hard architectural gate.
Why not lower?
Dropping to LOW or IGNORE would understate the technical severity of a remotely-triggerable use-after-free in a kernel network protocol handler. Where SCTP IS active (telecom, some k8s), the bug is trivially reachable with a crafted packet and results in at minimum a kernel panic. The fix is not yet in any stable kernel release or distro package, so affected hosts have no patch available. The 3-day-old disclosure means the window is still open for PoC development.
What to do — in priority order.
- Blacklist the SCTP kernel module on all non-telecom hosts — Add
install sctp /bin/falseandblacklist sctpto/etc/modprobe.d/sctp-blacklist.conf. This is already the RHEL 8+ default and CIS benchmark recommendation. Confirm and enforce across your fleet within the noisgate MEDIUM remediation window (365 days), though given this is a one-line config change, there's no reason not to do it this week. - Audit which hosts have SCTP loaded — Run
lsmod | grep sctpand check/proc/net/sctp/assocsacross your fleet. Any host with active SCTP associations is in the blast radius. Prioritize patching those hosts once stable backports ship. - Block SCTP at network boundaries — Ensure firewalls and security groups drop IP protocol 132 (SCTP) at perimeter and inter-zone boundaries. This prevents external exploitation entirely. Most enterprise firewalls already do this by default since they only permit TCP/UDP/ICMP.
- For telecom hosts: disable ASCONF capability if operationally feasible — If your SCTP applications don't require dynamic address reconfiguration, disable ASCONF negotiation at the application layer. This prevents the ASCONF chunk processing path from being reached. Consult your application vendor (e.g., Diameter, SS7 stack) for configuration guidance.
- SELinux / AppArmor — These MAC frameworks operate above the kernel network stack and do not prevent kernel-level UAF exploitation in SCTP chunk processing. The vulnerability triggers inside the kernel before any userspace policy can intervene.
- Network-level IDS/IPS with TCP-only inspection — Most IDS signatures focus on TCP/UDP. SCTP (IP protocol 132) often passes through uninspected. You need SCTP-aware deep packet inspection to detect malicious ASCONF chunks.
- Disabling SCTP sysctl parameters — There is no sysctl to disable ASCONF processing specifically. The only reliable control is unloading/blacklisting the entire SCTP module.
Crowdsourced verification payload.
Run this script on each target host as root (or via your fleet management tool). It checks whether the SCTP module is loaded and whether active SCTP associations exist. Example: sudo bash check_cve_2026_64564.sh
#!/bin/bash
# check_cve_2026_64564.sh — Check exposure to CVE-2026-64564
# SCTP ASCONF DEL-IP use-after-free
# Run as root on target Linux hosts.
# Exit codes: 0=VULNERABLE, 1=PATCHED, 2=UNKNOWN
set -euo pipefail
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'
# Check if SCTP module is loaded or compiled-in
SCTP_LOADED=0
if lsmod 2>/dev/null | grep -q '^sctp '; then
SCTP_LOADED=1
elif [ -f /proc/net/sctp/assocs ] 2>/dev/null; then
SCTP_LOADED=1
elif grep -q 'CONFIG_IP_SCTP=y' /boot/config-$(uname -r) 2>/dev/null; then
SCTP_LOADED=1
fi
if [ "$SCTP_LOADED" -eq 0 ]; then
echo -e "${GREEN}PATCHED${NC} (not affected) — SCTP module is not loaded and not compiled-in."
echo "CVE-2026-64564 requires SCTP to be active. This host has no exposure."
exit 1
fi
# SCTP is loaded — check for active associations
ACTIVE_ASSOCS=0
if [ -f /proc/net/sctp/assocs ]; then
# First line is header, count data lines
ASSOC_COUNT=$(tail -n +2 /proc/net/sctp/assocs 2>/dev/null | wc -l)
if [ "$ASSOC_COUNT" -gt 0 ]; then
ACTIVE_ASSOCS=1
fi
fi
# Check kernel version for fix (placeholder — stable backport versions TBD)
KERNEL=$(uname -r)
echo "Kernel: $KERNEL"
echo "SCTP module: loaded/compiled-in"
if [ "$ACTIVE_ASSOCS" -eq 1 ]; then
echo -e "${RED}VULNERABLE${NC} — SCTP is loaded with $ASSOC_COUNT active association(s)."
echo "This host is exposed to CVE-2026-64564 until a patched kernel is installed."
echo "Active associations:"
cat /proc/net/sctp/assocs 2>/dev/null
exit 0
else
echo -e "${YELLOW}UNKNOWN${NC} — SCTP module is loaded but no active associations found."
echo "Host is potentially vulnerable if SCTP associations are established later."
echo "Recommend blacklisting SCTP module if not needed: echo 'install sctp /bin/false' > /etc/modprobe.d/sctp-blacklist.conf"
exit 2
fiIf you remember one thing.
lsmod | grep sctp sweep. Any hosts that DO have SCTP loaded with active associations — typically telecom or specialized k8s nodes — should be treated as HIGH in your internal risk register with a 30-day noisgate mitigation SLA: block SCTP at network boundaries and plan to patch once stable kernel backports ship (expected within 1-2 weeks). No public PoC exists yet, giving you a window, but the technical details in the commit are sufficient for a skilled attacker to develop one. Monitor linux-stable mailing lists and your distro's security tracker for backport availability.Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.