Cloudanix VulnDB

CVE-2026-99138

None

CVSS

—

EPSS

0.2%

Published

Oct 28, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the Linux kernel lets an attacker crash the whole computer or take it over by tricking the system into using memory it has already thrown away.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Privilege Gain
Component
OS kernel
Class
Use After Free
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free when do_tcp_getsockopt reads icsk->icsk_ca_ops and calls its get_info pointer without RCU protection, allowing concurrent free of BPF struct_ops memory.

Why it matters to the business

Attackers can crash the kernel or achieve code execution on affected systems, leading to denial of service or full host compromise; the issue is only one day old with no public exploit yet.

How an attack unfolds

An attacker invokes getsockopt(TCP_CC_INFO) on a TCP socket while a BPF-based congestion-control struct_ops is being unregistered; the kernel dereferences a stale pointer into already-freed memory, triggering the use-after-free.

How to fix it

Apply the upstream fix that wraps the ca_ops load and get_info call inside rcu_read_lock/rcu_read_unlock and uses READ_ONCE; rebuild and reboot to a patched kernel.

How to confirm the fix worked

Confirm the presence of rcu_read_lock around the icsk_ca_ops access and the READ_ONCE load in net/ipv4/tcp.c:do_tcp_getsockopt; re-run KASAN or syzkaller tests that previously triggered the UAF.

Typical attack path

  1. Load or register a BPF struct_ops TCP congestion-control program
  2. Trigger concurrent removal or replacement of that program
  3. Call getsockopt with TCP_CC_INFO option on an affected socket
  4. Kernel reads stale icsk_ca_ops pointer and calls get_info through freed memory

How to detect it

Search kernel logs and KASAN reports for slab-use-after-free mentioning do_tcp_getsockopt; inspect audit logs for unusual getsockopt calls on TCP sockets around the time of any crash.

  • BUG: KASAN: slab-use-after-free in do_tcp_getsockopt
  • Read of size 8 at addr .* by task .* in net/ipv4/tcp.c:4564

What your security team should do

  • Prioritize kernel updates on all Linux hosts within the next 7 days
  • Restrict unprivileged use of getsockopt(TCP_CC_INFO) via seccomp or LSM where possible
  • Monitor for KASAN reports containing do_tcp_getsockopt+0x2037
  • Test the patch in staging before broad rollout

The record

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.

Affected packages

Ecosystem Package Introduced Fixed