CVE-2026-74586

Source
https://cve.org/CVERecord?id=CVE-2026-74586
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74586.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-74586
Downstream
Published
2026-08-22T15:31:39.094Z
Modified
2026-08-27T11:30:53.722417002Z
Severity
  • 9.8 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
sctp: clear new_transport when removing a peer
Details

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

sctp: clear new_transport when removing a peer

sctpprocessasconfparam() stores a newly added peer transport in asoc->newtransport. After all parameters in the ASCONF chunk have been processed, sctpsfdo_asconf() uses this pointer to send a HEARTBEAT to the new transport.

An authenticated ASCONF from a remote SCTP peer can add a transport and remove it again with a wildcard DEL-IP parameter in the same chunk. The wildcard deletion preserves the transport on which the ASCONF arrived, but removes the newly added transport through sctpassocdelnonprimarypeers(). The removal does not clear asoc->new_transport, leaving it pointing to the removed transport.

sctpsfdoasconf() then creates a HEARTBEAT whose chunk->transport points to the removed transport without holding a transport reference. During local address replacement, srcoutofasocok keeps this HEARTBEAT on controlchunklist. After the transport is freed by RCU, a successful ASCONFACK for the replacement address releases the queued HEARTBEAT and sctpoutqselect_transport() reads the freed transport's state.

The issue was found during a static audit of SCTP objects. With an authenticated peer, the reproducer triggered the same KASAN report in 2 of 2 unpatched runs on a KASAN-enabled netdev/main kernel:

BUG: KASAN: slab-use-after-free in sctpoutqselect_transport Read of size 4 at addr ffff88800b9bd95c by task python3/197

Call Trace: sctpoutqselecttransport+0x549/0x8b0 [sctp] sctpoutqflush+0x306/0x2c60 [sctp] sctptransportimmediatertx+0xaf/0x260 [sctp] sctpprocessasconf_ack+0xa48/0xf70 [sctp]

Allocated by task 197: sctptransportnew+0x68/0x650 [sctp] sctpassocaddpeer+0x258/0x12a0 [sctp] sctpprocess_asconf+0x5e9/0x1090 [sctp]

Last potentially related work creation: __callrcucommon.constprop.0+0x77/0xb70 sctpassocdelnonprimarypeers+0x7c/0xd0 [sctp] sctpprocessasconf+0xd9c/0x1090 [sctp]

The first invalid access was a four-byte read of transport->state at net/sctp/outqueue.c:833. The same reproducer completed the full authenticated ASCONF and local-address replacement sequence with this change without a KASAN report or oops.

Clear new_transport when its peer is removed, before it can be used to create the HEARTBEAT.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74586.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
6af29ccc223b0feb6fc6112281c3fa3cdb1afddf
Fixed
c0f973bb5118dd1b146cda3fcc8af6f6057befec
Fixed
3b539b317cd052236fed0350364ff1268996ba46
Fixed
db9d8e3b670f841755bc2018f178472dc6064d27
Fixed
31efa656cf6aface26e88f038c14f22ee6ca1500
Fixed
291accf36febce751021888de5f15090f4875b56
Fixed
ca33df36aa0143a1d04f57d2086020c12e7eddb7
Fixed
163847552a571bd55094291f4ffcdc1de0f14a7b
Fixed
beb33f8ee1ca83acddb2a5ae80f3d22ec550b4c3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74586.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.2.0
Fixed
5.10.265
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.216
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.183
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.152
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.104
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.45
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74586.json"