Unscored severity · published Oct 28, 2026
CVE-2026-99139
tcp: fix use-after-free in do_tcp_getsockopt(TCP_CONGESTION)
New
–
CVSS
–
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
tcp: fix use-after-free in do_tcp_getsockopt(TCP_CONGESTION)
do_tcp_getsockopt() reads icsk->icsk_ca_ops->name without holding
rcu_read_lock(). Since commit 0baf26b0fcd7 ("bpf: tcp: Support
tcp_congestion_ops in bpf"), icsk_ca_ops can point to dynamically
allocated BPF struct_ops memory that may be freed concurrently via
setsockopt(TCP_CONGESTION), leading to a use-after-free.
BUG: KASAN: slab-use-after-free in _copy_to_user+0x37/0x60
Read of size 16 at addr ffff888013505260 by task exploit/149
_copy_to_user+0x37/0x60
do_tcp_getsockopt+0x158a/0x2460 (net/ipv4/tcp.c:4585)
tcp_getsockopt+0x91/0xf0
__sys_getsockopt+0xf7/0x170
Fix this by holding rcu_read_lock() around the ca_ops->name access,
using READ_ONCE() to load icsk_ca_ops, and copying the name to a
stack buffer before releasing the lock. Also annotate the relevant
icsk_ca_ops stores with WRITE_ONCE() to fix the accompanying KCSAN
data-race issue.
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
0baf26b0fcd74bbfcef53c5d5e8bad2b99c8d0d2 before c1804ef016392dd91267d2207ee43b1de34302ca; 0baf26b0fcd74bbfcef53c5d5e8bad2b99c8d0d2 before a8e45471afa230c1431c26c8e99ec24377e3b514; 0baf26b0fcd74bbfcef53c5d5e8bad2b99c8d0d2 before 5271b79b7ad68dcb222e893773f92bdabf7750f3; 5.6 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-99139
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-99139
git.kernel.org
https://git.kernel.org/stable/c/c1804ef016392dd91267d2207ee43b1de34302ca
git.kernel.org
https://git.kernel.org/stable/c/a8e45471afa230c1431c26c8e99ec24377e3b514
git.kernel.org
https://git.kernel.org/stable/c/5271b79b7ad68dcb222e893773f92bdabf7750f3
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()
