CVE-2026-89479

CVE-2026-89479

Critical · published September 12, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
41.9
In the wild
Unconfirmed
What it is

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

sctp: stop processing a packet once its association is deleted

sctp_endpoint_bh_rcv() looks the association up only when chunk->asoc is

NULL, and caches the result in chunk->asoc and chunk->transport without

taking a reference.

A packet that matches no association is handed to the endpoint, so a peer

can bundle COOKIE ECHO, SHUTDOWN and SHUTDOWN ACK in one packet. The

COOKIE ECHO creates the association, the SHUTDOWN chunk caches it, and

with the outqueue empty the SHUTDOWN ACK reaches sctp_sf_do_9_2_final(),

so the association and its transports are freed.

The endpoint loop has no counterpart to the asoc->base.dead check in

sctp_assoc_bh_rcv(). The next chunk writes to last_time_heard in the freed

transport and is then passed to sctp_do_sm() with the freed association.

The transport is freed through RCU, so this needs the packet to come off

the socket backlog, where the loop runs in task context.

The endpoint loop cannot do the same check: it holds no reference on the

association, so reading asoc->base.dead would itself be a use-after-free.

Mark the packet for discard in the command interpreter, just before it

deletes the association. That is also before sctp_inq_free() releases the

chunk on the association receive path.

sctp_sf_do_5_2_4_dupcook() issues SCTP_CMD_DELETE_TCB for the temporary

association, while the one the packet belongs to stays alive. A restarting

peer can bundle DATA behind its COOKIE ECHO, so compare against

chunk->asoc and leave that case alone.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00500 · 41.9th percentile
Published
2026-09-12T00:19Z
References (8)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:43Z
    sctp: stop processing a packet once its association is deleted
    cvelistv5