CVE-2026-64564

sctp: don't free the ASCONF's own transport in DEL-IP processing

State
Published
Severity
9.8 Critical
Published
Aug 4, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

sctp: don't free the ASCONF's own transport in DEL-IP processing

sctp_process_asconf() caches the transport the ASCONF chunk is processed against in asconf->transport (== chunk->transport, set once in sctp_rcv()). For an ASCONF located through its Address Parameter by __sctp_rcv_asconf_lookup(), that cached transport corresponds to the Address Parameter, which need not be the packet's source address.

sctp_process_asconf_param() rejects a DEL-IP for the packet source address (ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport. A single ASCONF can therefore carry, in order:

[Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0]

where L differs from the source. The DEL-IP for L passes the D8 check and calls sctp_assoc_rm_peer() on the transport that asconf->transport still points at, freeing it (RCU-deferred). The following wildcard DEL-IP then reuses the now-dangling asconf->transport in sctp_assoc_set_primary() and sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed transport (->ipaddr, ->state) and plants the dangling pointer into asoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping only the pointer that is no longer on the list, removes every real transport, leaving the association with a transport_count of 0 and primary_path/active_path pointing at freed memory.

Reject a DEL-IP that targets the transport the ASCONF is being processed against, mirroring the existing source-address guard, so the wildcard branch can never reuse a freed transport.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before a9ce31be4cb1a5dd82b3e0a1d0c3e7cbdcd31293Affected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before a63afa1f9b12d5293cbe0b77fd45dc0632533a13Affected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before 2b324ba3494ae958cba16a453e3e71489b4de7fcAffected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before fedeb4468987bcaff85fe3061de5ae052d414740Affected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before 74e8f3e7114f0e26d1b2c4c048044db9fcc27603Affected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before 85aca407c560aba81b5ce9d3d6cf94c74077d19bAffected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before d136b29bf91dd8e3161281b87de597b7311d9462Affected
  • 42e30bf3463cd37d73839376662cb79b4d5c416c to before 9b2854f86f0b56e9027d68e7a3fc909d1a9b566fAffected
LinuxLinux
  • 2.6.25Affected
  • before 2.6.25Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.148 through 6.6.*Not affected
  • 6.12.101 through 6.12.*Not affected
  • 6.18.42 through 6.18.*Not affected
  • 7.1.6 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.