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.
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel-level use‑after‑free leading to possible privilege escalation
Action: Immediate Patch
AI Analysis

Impact

A use‑after‑free flaw exists in the TCP stack’s getsockopt handler for congestion‑control information. The handler accesses a function pointer in the socket’s congestion‑control operations without holding an RCU read lock, allowing concurrent freeing of that memory and resulting in a stale pointer dereference. This kernel memory corruption can enable an attacker to execute arbitrary code at ring‑0, effectively allowing privilege escalation on the affected system.

Affected Systems

This vulnerability affects all Linux kernel releases that contain the unpatched TCP get_sockopt path. The exact version range is not specified in the advisory, but any kernel lacking the recent patch for TCP_CC_INFO is potentially vulnerable. The issue applies to generic Linux distributions and free‑software kernels that include the standard TCP implementation.

Risk and Exploitability

Based on the description, it is inferred that the exploit requires local access to load a malicious BPF program that uses a struct_ops congestion‑control object, or physical tampering with the kernel’s TCP structure. While the EPSS score is not available and the vulnerability is not listed in the KEV catalog, the nature of a use‑after‑free in kernel space is severe. If exploited, an attacker could gain root privileges. In the absence of a public exploit, the likelihood is uncertain, but the potential impact is high.

Generated by OpenCVE AI on October 28, 2026 at 12:10 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the vendor‑supplied kernel patch that protects the getsockopt handler with rcu_read_lock() and READ_ONCE() calls.
  • If an immediately available patch is not yet released, restrict the use of BPF programs that provide custom congestion‑control operations by tightening kernel BPF policies or disabling the relevant sysctl parameters.
  • Reboot the system after applying the patch so that the vulnerable kernel code is unloaded and replaced in memory.

Generated by OpenCVE AI on October 28, 2026 at 12:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
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.
Title tcp: fix use-after-free in do_tcp_getsockopt(TCP_CC_INFO)
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:34:49.993Z

Reserved: 2026-09-25T10:25:14.395Z

Link: CVE-2026-99138

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:33.740

Modified: 2026-10-28T11:17:33.740

Link: CVE-2026-99138

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T12:15:14Z

Weaknesses