{"id":"CVE-2026-64564","state":"PUBLISHED","title":"sctp: don't free the ASCONF's own transport in DEL-IP processing","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: don't free the ASCONF's own transport in DEL-IP processing\n\nsctp_process_asconf() caches the transport the ASCONF chunk is processed\nagainst in asconf->transport (== chunk->transport, set once in sctp_rcv()).\nFor an ASCONF located through its Address Parameter by\n__sctp_rcv_asconf_lookup(), that cached transport corresponds to the\nAddress Parameter, which need not be the packet's source address.\n\nsctp_process_asconf_param() rejects a DEL-IP for the packet source address\n(ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport.\nA single ASCONF can therefore carry, in order:\n\n    [Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0]\n\nwhere L differs from the source. The DEL-IP for L passes the D8 check and\ncalls sctp_assoc_rm_peer() on the transport that asconf->transport still\npoints at, freeing it (RCU-deferred). The following wildcard DEL-IP then\nreuses the now-dangling asconf->transport in sctp_assoc_set_primary() and\nsctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed\ntransport (->ipaddr, ->state) and plants the dangling pointer into\nasoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping\nonly the pointer that is no longer on the list, removes every real\ntransport, leaving the association with a transport_count of 0 and\nprimary_path/active_path pointing at freed memory.\n\nReject a DEL-IP that targets the transport the ASCONF is being processed\nagainst, mirroring the existing source-address guard, so the wildcard\nbranch can never reuse a freed transport.","publishedAt":"2026-08-04T06:23:23.339Z","updatedAt":"2026-10-19T20:48:42.076Z","severity":{"score":9.8,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"a9ce31be4cb1a5dd82b3e0a1d0c3e7cbdcd31293","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"a63afa1f9b12d5293cbe0b77fd45dc0632533a13","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"2b324ba3494ae958cba16a453e3e71489b4de7fc","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"fedeb4468987bcaff85fe3061de5ae052d414740","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"74e8f3e7114f0e26d1b2c4c048044db9fcc27603","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"85aca407c560aba81b5ce9d3d6cf94c74077d19b","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"d136b29bf91dd8e3161281b87de597b7311d9462","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"9b2854f86f0b56e9027d68e7a3fc909d1a9b566f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/sm_make_chunk.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.25","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.25","versionType":"semver"},{"version":"5.10.265","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.216","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.183","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/sm_make_chunk.c"]}],"references":["https://git.kernel.org/stable/c/a9ce31be4cb1a5dd82b3e0a1d0c3e7cbdcd31293","https://git.kernel.org/stable/c/a63afa1f9b12d5293cbe0b77fd45dc0632533a13","https://git.kernel.org/stable/c/2b324ba3494ae958cba16a453e3e71489b4de7fc","https://git.kernel.org/stable/c/fedeb4468987bcaff85fe3061de5ae052d414740","https://git.kernel.org/stable/c/74e8f3e7114f0e26d1b2c4c048044db9fcc27603","https://git.kernel.org/stable/c/85aca407c560aba81b5ce9d3d6cf94c74077d19b","https://git.kernel.org/stable/c/d136b29bf91dd8e3161281b87de597b7311d9462","https://git.kernel.org/stable/c/9b2854f86f0b56e9027d68e7a3fc909d1a9b566f","https://matrix.tencent.com/en/2026/08/06/sctphantom-CVE-2026-64564","http://www.openwall.com/lists/oss-security/2026/08/06/3","http://www.openwall.com/lists/oss-security/2026/08/06/4","http://www.openwall.com/lists/oss-security/2026/08/06/13","http://www.openwall.com/lists/oss-security/2026/08/07/1","http://www.openwall.com/lists/oss-security/2026/08/07/2","http://www.openwall.com/lists/oss-security/2026/08/07/8"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64564.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64564","state":"PUBLISHED","datePublished":"2026-08-04T06:23:23.339Z","dateUpdated":"2026-10-19T20:48:42.076Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T15:36:31.797Z"},"containers":{"cna":{"title":"sctp: don't free the ASCONF's own transport in DEL-IP processing","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsctp: don't free the ASCONF's own transport in DEL-IP processing\n\nsctp_process_asconf() caches the transport the ASCONF chunk is processed\nagainst in asconf->transport (== chunk->transport, set once in sctp_rcv()).\nFor an ASCONF located through its Address Parameter by\n__sctp_rcv_asconf_lookup(), that cached transport corresponds to the\nAddress Parameter, which need not be the packet's source address.\n\nsctp_process_asconf_param() rejects a DEL-IP for the packet source address\n(ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport.\nA single ASCONF can therefore carry, in order:\n\n    [Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0]\n\nwhere L differs from the source. The DEL-IP for L passes the D8 check and\ncalls sctp_assoc_rm_peer() on the transport that asconf->transport still\npoints at, freeing it (RCU-deferred). The following wildcard DEL-IP then\nreuses the now-dangling asconf->transport in sctp_assoc_set_primary() and\nsctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed\ntransport (->ipaddr, ->state) and plants the dangling pointer into\nasoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping\nonly the pointer that is no longer on the list, removes every real\ntransport, leaving the association with a transport_count of 0 and\nprimary_path/active_path pointing at freed memory.\n\nReject a DEL-IP that targets the transport the ASCONF is being processed\nagainst, mirroring the existing source-address guard, so the wildcard\nbranch can never reuse a freed transport."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"a9ce31be4cb1a5dd82b3e0a1d0c3e7cbdcd31293","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"a63afa1f9b12d5293cbe0b77fd45dc0632533a13","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"2b324ba3494ae958cba16a453e3e71489b4de7fc","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"fedeb4468987bcaff85fe3061de5ae052d414740","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"74e8f3e7114f0e26d1b2c4c048044db9fcc27603","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"85aca407c560aba81b5ce9d3d6cf94c74077d19b","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"d136b29bf91dd8e3161281b87de597b7311d9462","versionType":"git"},{"version":"42e30bf3463cd37d73839376662cb79b4d5c416c","status":"affected","lessThan":"9b2854f86f0b56e9027d68e7a3fc909d1a9b566f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/sm_make_chunk.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.25","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.25","versionType":"semver"},{"version":"5.10.265","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.216","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.183","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.148","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.101","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.42","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.6","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sctp/sm_make_chunk.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/a9ce31be4cb1a5dd82b3e0a1d0c3e7cbdcd31293"},{"url":"https://git.kernel.org/stable/c/a63afa1f9b12d5293cbe0b77fd45dc0632533a13"},{"url":"https://git.kernel.org/stable/c/2b324ba3494ae958cba16a453e3e71489b4de7fc"},{"url":"https://git.kernel.org/stable/c/fedeb4468987bcaff85fe3061de5ae052d414740"},{"url":"https://git.kernel.org/stable/c/74e8f3e7114f0e26d1b2c4c048044db9fcc27603"},{"url":"https://git.kernel.org/stable/c/85aca407c560aba81b5ce9d3d6cf94c74077d19b"},{"url":"https://git.kernel.org/stable/c/d136b29bf91dd8e3161281b87de597b7311d9462"},{"url":"https://git.kernel.org/stable/c/9b2854f86f0b56e9027d68e7a3fc909d1a9b566f"},{"url":"https://matrix.tencent.com/en/2026/08/06/sctphantom-CVE-2026-64564"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - The bug is in SCTP ASCONF receive processing (sctp_rcv → sctp_sf_do_asconf → sctp_process_asconf → sctp_process_asconf_param); a remote peer triggers it by sending a crafted ASCONF over IP/IPv6 on an established association, matching kernel guidance that net/ stack bugs reachable via received packets are Network.\nAC:L - A single attacker-controlled ASCONF with [Address Parameter L][DEL-IP L][DEL-IP 0.0.0.0] reliably frees asconf->transport then reuses it in the same softirq; the peer fully controls multi-homing, serial, and parameter order, with no race or other condition outside attacker influence.\nPR:N - Any remote SCTP peer that completes a normal association with ADD-IP negotiated can send the ASCONF; SCTP-AUTH keys come from the handshake the peer itself performs (or addip_noauth), and no local credentials or capabilities on the target are required.\nUI:N - Exploitation requires only attacker-sent SCTP packets processed automatically in the receive/state-machine path; no victim user action such as opening a file or mounting a device is needed.\nS:U - Impact is confined to the vulnerable host kernel (sctp_transport UAF / crash or privilege escalation) and does not cross a VM, IOMMU, or other security-authority boundary.\nC:H - This is a heap use-after-free of an sctp_transport planted into primary_path/active_path after RCU-deferred free; freed-object reuse yields arbitrary kernel read primitives, scored High per UAF guidance.\nI:H - The same transport UAF enables heap spraying and write/control-flow hijacking via later dereferences of the dangling primary_path/active_path, so integrity impact is High.\nA:H - set_primary() immediately dereferences the freed transport and leaves the association with transport_count 0 and dangling path pointers, causing a reproducible kernel oops/panic on subsequent use, which is High availability impact."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-19T16:28:36.947Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"5.10.265"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"5.15.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"6.1.183"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"6.6.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"7.1.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"http://www.openwall.com/lists/oss-security/2026/08/06/3"},{"url":"http://www.openwall.com/lists/oss-security/2026/08/06/4"},{"url":"http://www.openwall.com/lists/oss-security/2026/08/06/13"},{"url":"http://www.openwall.com/lists/oss-security/2026/08/07/1"},{"url":"http://www.openwall.com/lists/oss-security/2026/08/07/2"},{"url":"http://www.openwall.com/lists/oss-security/2026/08/07/8"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2026-08-08T01:31:36.501Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-64564","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:42:57.454548Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:48:42.076Z"}}]}}}