CVE-2026-99138
tcp: fix use-after-free in do_tcp_getsockopt(TCP_CC_INFO)
- State
- Published
- Severity
- Not scored
- Published
- Oct 28, 2026
- Updated
- Oct 30, 2026
- Reserved
- Sep 25, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
tcp: fix use-after-free in do_tcp_getsockopt(TCP_CC_INFO)
do_tcp_getsockopt() reads icsk->icsk_ca_ops and dereferences the get_info function pointer without rcu_read_lock(). With BPF struct_ops congestion control, ca_ops can point to dynamically allocated memory that is freed concurrently, resulting in a use-after-free when the kernel dereferences or calls through the stale pointer.
BUG: KASAN: slab-use-after-free in do_tcp_getsockopt+0x2037/0x23e0 Read of size 8 at addr ffff888013701258 by task exploit/149 do_tcp_getsockopt+0x2037/0x23e0 (net/ipv4/tcp.c:4564) tcp_getsockopt+0x91/0xf0 __sys_getsockopt+0xf7/0x170
Fix this by wrapping the ca_ops load and get_info call within rcu_read_lock()/rcu_read_unlock(), and using READ_ONCE() to load the icsk_ca_ops pointer.
Scores
The record has no CVSS score.
Weaknesses
The record names no weakness.
Affected Products
| Product | Versions |
|---|---|
LinuxLinux |
|
LinuxLinux |
|
References
- https://git.kernel.org/stable/c/7c312f17917455eedcea29735fa302ebb93cb9b9
- https://git.kernel.org/stable/c/66b831b427301a9c3e485564009d476631413103
- https://git.kernel.org/stable/c/a8b024cbf62b497062c86995737fc303e4cc384e
- https://git.kernel.org/stable/c/8d5fc9e6dc09174d0da6e59678eb8e01a890cbd3
- https://git.kernel.org/stable/c/e057d201640eebb8ed47ec924872c41570a3bd28
- https://git.kernel.org/stable/c/86814e5370068ec2bf0caa6e6d55c3e5bfc6c324
- https://git.kernel.org/stable/c/39aa489e85752f9de214edb0f85e4d578e57af29
- https://git.kernel.org/stable/c/385e474086c2e7e29e2dded690be40dc273e20ee
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.