ZeroHour

CVE-2026-89488

mass

Use-after-free in Linux kernel Open vSwitch CT limit teardown

CVSS 3.1
7.8 high
EPSS
Published
()
Modified
AI analysis

The Linux kernel's openvswitch module contains a slab use-after-free in its connection tracking (CT) limit handling: netns teardown freed the CT limit state under ovs_mutex without removing it from RCU readers or waiting for a grace period, so packet processing in ovs_ct_execute() could dereference the already-freed memory. An unprivileged local user can trigger the bug by creating a user and network namespace that uses OVS connection tracking limits and then tearing the namespace down, which is reachable on systems that allow unprivileged user namespaces. Successful exploitation of this memory corruption gives kernel-level impact — CVSS 3.1 scores it 7.8 with high confidentiality, integrity and availability impact, consistent with privilege escalation to root or a system crash/panic. Any Linux system running a kernel containing the unfixed OVS code, with unprivileged user namespaces enabled and OVS conntrack limits in use, is affected. No public proof-of-concept exists and the issue is not in the CISA KEV catalog, so exploitation is not known to be occurring in the wild.

What to do: Upgrade to a kernel containing the upstream fix (CT limit state published via RCU and detached in the pernet .pre_exit path before the .exit teardown) as soon as your distribution ships or backports it. As an interim mitigation on unpatched hosts, disable unprivileged user namespaces (e.g., sysctl user.max_user_namespaces=0, or kernel.unprivileged_userns_clone=0 on distros that provide it) and restrict who can configure OVS/conntrack limits. Monitor kernel logs for slab-use-after-free reports or OOPSes in ovs_ct_execute(), which would indicate an exploitation attempt.

Affected
Linux kernel (openvswitch module, ovs_ct_execute CT limit path)Versions prior to the upstream fix commit; the provided data does not specify exact affected version numbers, so distributors' kernels with the openvswitch modu
Estimated exposure
massBillions of Linux devices ship kernels containing the vulnerable code path; plausibly exposed systems are hosts actually using OVS with conntrack limits — est.… — Linux runs on billions of devices and the openvswitch module ships in most distribution kernels, while unprivileged user namespaces are enabled by default on major distros (e.g., Ubuntu, Debian); however, the specific trigger requires OVS…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In the Linux kernel, the following vulnerability has been resolved: openvswitch: Fix CT limit teardown use-after-free Packet processing uses CT limit state under RCU, while netns teardown frees that state under ovs_mutex. The CT limit pointer was neither removed from readers nor protected by a grace period, allowing packet processing to dereference the freed state. An unprivileged user can trigger this bug from a user and network namespace, causing a slab-use-after-free in ovs_ct_execute() when the netns is torn down. Publish the CT limit pointer through RCU, remove it before teardown, and wait for readers before freeing its contents. Keep ovs_mutex around individual CT limit updates, and use the RCU read-side lock while GET traverses the RCU-protected limit lists. Netns teardown detaches the RCU-protected CT limit state in the pernet .pre_exit callback while holding ovs_mutex. The pernet core guarantees an RCU grace period between the .pre_exit and .exit callbacks, so the .exit callback completes the teardown without adding any extra synchronization. The netlink command handlers do not need NULL checks because the userspace netlink socket holds an active reference to its network namespace while a request is processed. The per-netns exit path therefore cannot run concurrently with SET, DEL, or GET for that socket's namespace.

Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.