CVE Catalog

CVE-2026-98846

Low risk· EPSS 5%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

5th percentile - higher than 5% of all known CVEs

Summary

In the Linux kernel, SCTP's sctp_wait_for_connect() drops the socket lock while sleeping, allowing an ABORT to be processed and the association unlinked. If a concurrent shutdown(fd, SHUT_RD) sets RCV_SHUTDOWN, the function returns without checking asoc->base.dead, leading to a dangling pointer.

Risk Assessment

This can cause a kernel crash or potential code execution in kernel context.

Recommendation

Update the Linux kernel to a version containing the fix that checks RCV_SHUTDOWN along with the wait error in sctp_sendmsg_to_asoc().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: sctp: check RCV_SHUTDOWN after the sendmsg connect wait sctp_wait_for_connect() drops the socket lock while it sleeps. An out-of-the-blue ABORT can then be processed from the socket backlog and unlink the association. If a concurrent shutdown(fd, SHUT_RD) sets RCV_SHUTDOWN, the waiter breaks with err == 0 before checking asoc->base.dead. Its final sctp_association_put() can then free the association, leaving sctp_sendmsg_to_asoc() to continue with a dangling pointer. Check RCV_SHUTDOWN along with the wait error in sctp_sendmsg_to_asoc() before using the association again. The check only accesses the socket, so it needs no additional association reference. Return the existing -ESRCH so that sctp_sendmsg() skips freeing a new association that may already have been destroyed. Keep sctp_wait_for_connect() unchanged to preserve its behavior for the connect() caller.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS