Unscored severity · published Oct 28, 2026
CVE-2026-99165
sctp: revalidate output stream after association connect wait
New
–
CVSS
–
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
sctp: revalidate output stream after association connect wait
When message interleaving is enabled, the first send waits for association
establishment before building its data chunks. The wait drops the socket
lock, and handshake processing can reduce the output stream count to the
peer-advertised inbound stream count. sctp_stream_init() then frees the
extension of every removed stream.
The sender resumes with the stream that it checked before the wait. If the
peer removed that stream, sctp_outq_tail() later dereferences its NULL
extension. Fatal-oops policies then panic the host.
KASAN: null-ptr-deref in range [0x38-0x3f]
RIP: sctp_outq_tail+0x49e/0xaa0
Call Trace:
sctp_primitive_SEND
sctp_sendmsg_to_asoc
sctp_sendmsg
A range check alone is insufficient. Stream reconfiguration can grow the
output count again while the lock is released without recreating extensions
freed by the earlier shrink. The stream can then be in range while its
extension remains NULL. The send-buffer wait has the same issue.
Factor the range and extension checks into a helper and repeat both after
each send-path wait that drops the socket lock. Once the lock is
reacquired, the validation remains stable through data creation and
queueing.
If validation fails after the connect wait, the auto-created association is
already established. Return ESRCH so the existing caller path keeps it
under state-machine ownership instead of freeing it directly, which would
leave protocol, counter and socket state inconsistent.
Exploitation
Is it being used?
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
Linux · Linux
668c9beb9020d5834ee9e43c208190a07d2b1928 before 77a63d1b813b08c4e5a948f5e04fbaca6176aa8f; 668c9beb9020d5834ee9e43c208190a07d2b1928 before fd56ac95ec31a05b66e8938debfa847f49c0e993; 668c9beb9020d5834ee9e43c208190a07d2b1928 before b7ad72414c673ce1fa1f463e807cd4f34f8be9bf; 4.16 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-99165
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-99165
git.kernel.org
https://git.kernel.org/stable/c/77a63d1b813b08c4e5a948f5e04fbaca6176aa8f
git.kernel.org
https://git.kernel.org/stable/c/fd56ac95ec31a05b66e8938debfa847f49c0e993
git.kernel.org
https://git.kernel.org/stable/c/b7ad72414c673ce1fa1f463e807cd4f34f8be9bf
More from Linux
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
7.8
CVE-2026-53362
ipv6: account for fraggap on the paged allocation path
7.8
CVE-2026-31431
crypto: algif_aead - Revert to operating out-of-place
7.8
CVE-2025-38352
posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
