CVE-2025-23142: sctp: detect and prevent references to a freed transport in sendmsg
In the Linux kernel, the following vulnerability has been resolved:
sctp: detect and prevent references to a freed transport in sendmsg
sctp_sendmsg() re-uses associations and transports when possible by
doing a lookup based on the socket endpoint and the message destination
address, and then sctp_sendmsg_to_asoc() sets the selected transport in
all the message chunks to be sent.
There's a possible race condition if another thread triggers the removal
of that selected transport, for instance, by explicitly unbinding an
address with setsockopt(SCTP_SOCKOPT_BINDX_REM), after the chunks have
been set up and before the message is sent. This can happen if the send
buffer is full, during the period when the sender thread temporarily
releases the socket lock in sctp_wait_for_sndbuf().
This causes the access to the transport data in
sctp_outq_select_transport(), when the association outqueue is flushed,
to result in a use-after-free read.
This change avoids this scenario by having sctp_transport_free() signal
the freeing of the transport, tagging it as "dead". In order to do this,
the patch restores the "dead" bit in struct sctp_transport, which was
removed in
commit 47faa1e4c50e ("sctp: remove the dead field of sctp_transport").
Then, in the scenario where the sender thread has released the socket
lock in sctp_wait_for_sndbuf(), the bit is checked again after
re-acquiring the socket lock to detect the deletion. This is done while
holding a reference to the transport to prevent it from being freed in
the process.
If the transport was deleted while the socket lock was relinquished,
sctp_sendmsg_to_asoc() will return -EAGAIN to let userspace retry the
send.
The bug was found by a private syzbot instance (see the error report [1]
and the C reproducer that triggers it [2]).
Security readout for executives and security teams
Plain-English summary
A race condition in the Linux kernel’s SCTP networking code can make the kernel read memory after its transport object has been freed. A local, low-privileged user may trigger the condition through concurrent SCTP socket activity, potentially affecting system confidentiality, integrity, or availability. Exposure depends on the installed kernel and whether SCTP is usable.
Executive priority
Treat as a high-priority kernel update for exposed multi-user or SCTP-dependent systems. It is not documented as remotely exploitable or actively exploited, so emergency internet-wide response is unsupported. Use accelerated routine patching, with faster action where untrusted local users or containerized workloads can access SCTP.
Technical view
During sctp_sendmsg(), a full send buffer can temporarily release the socket lock. Another thread may remove the selected transport before the lock is reacquired, leaving message chunks referencing freed memory. Flushing the association outqueue then causes a use-after-free read. The kernel fix marks transports dead, retains a reference during revalidation, and returns EAGAIN when deletion is detected.
Likely exposure
Prioritize Linux systems matching the source-listed affected versions where local users or workloads can create and manipulate SCTP sockets. Network reachability alone is insufficient because the CVSS vector is local. Distribution kernels may contain backports, so version strings alone cannot conclusively establish vulnerability.
Exploitation context
The supplied CVSS 3.1 score is 7.8 with local access, low privileges, low complexity, and no user interaction. The defect was found through private syzbot testing, with a reproducer referenced by the kernel description. CISA KEV status is false, and the supplied sources provide no evidence of active exploitation.
Researcher notes
The critical sequence is transport selection, lock release while waiting for send-buffer space, concurrent transport removal, and later outqueue access. The remediation restores a dead-state marker and rechecks it while holding a transport reference. Exact affected-to-fixed mappings across distribution kernels remain incomplete in the supplied bundle and require vendor confirmation.
Mitigation direction
Install a vendor-supported kernel containing the applicable upstream fix or confirmed backport.
Review Linux distribution security advisories for package-specific fixed versions and reboot requirements.
Prioritize multi-user systems and hosts running SCTP-dependent applications.
Where patching is delayed, consult vendor guidance for supported exposure-reduction measures.
Validation and detection
Inventory running kernel versions and identify systems where SCTP is available or actively used.
Compare distribution package revisions against vendor advisories, not upstream version numbers alone.
Confirm the installed kernel includes the relevant stable fix or an equivalent vendor backport.
After upgrading, verify the fixed kernel is running and SCTP-dependent services operate normally.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-23142 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
12Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.