Cloudanix VulnDB

CVE-2026-31678

High · 7.8

CVSS

7.8

EPSS

0.1%

Published

Apr 25, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in Linux networking can let someone who already has limited access to certain systems crash them or potentially take full control, so affected systems should be updated.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Privilege Gain
Component
OS kernel
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This is a local race condition in the Linux kernel Open vSwitch tunnel netdevice cleanup path. A tunnel vport can retain a pointer to a network device while unregister and destroy paths run concurrently; releasing the netdev reference too early can leave concurrent RCU readers observing a stale vport->dev pointer. In practical terms, this can produce a use-after-free-style condition in kernel memory. Because exploitation occurs in kernel context, a successful local attacker with the ability to exercise Open vSwitch tunnel device lifecycle operations could potentially crash the host or escalate privileges to full kernel-level control. The CVSS vector indicates local access, low attack complexity, low privileges, no user interaction, and high confidentiality, integrity, and availability impact.

Why it matters to the business

Systems using Linux kernel Open vSwitch, especially virtualization, container networking, SDN, NFV, or cloud networking hosts, may be exposed to local privilege escalation or denial-of-service risk. A successful exploit could allow a low-privileged user or compromised workload on an affected host to gain control of the host kernel, disrupt network forwarding, or compromise other workloads on the same system. Current public exploitation signals are low: EPSS is approximately 0.001 with no 30-day increase, it is not in CISA KEV, and no mature public exploit is reported; however, kernel privilege-escalation bugs in shared infrastructure should still be prioritized where Open vSwitch is enabled.

How an attack unfolds

An attacker first needs local code execution with low privileges on a Linux system where Open vSwitch tunnel functionality is present and reachable through permitted network namespace, vport, or device lifecycle operations. The attacker then repeatedly creates, unregisters, tears down, or otherwise races Open vSwitch tunnel netdevices to force ovs_netdev_tunnel_destroy() to run after NETDEV_UNREGISTER has detached the device. If timed correctly, the destroy path drops a netdevice reference while concurrent RCU readers can still observe the vport device pointer. The resulting stale pointer condition may lead to a kernel crash or, with sufficient heap shaping and kernel exploitation technique, controlled memory corruption and privilege escalation. There is no indication from the provided intelligence that this vulnerability is currently exploited in the wild or used by named threat actors.

How to fix it

Apply a Linux kernel update that contains the Open vSwitch fix to defer tunnel netdev_put until the RCU release callback, aligning tunnel cleanup with the non-tunnel vport free path. No exact fixed package versions were provided, so remediate by updating to the latest vendor-supported kernel for each distribution or appliance and confirming the vendor advisory includes the fix for CVE-2026-31678 or the upstream change described as deferring tunnel netdev_put to vport_netdev_free()/RCU release. Reboot into the patched kernel after installation; live patching should only be considered sufficient if the vendor explicitly states that this specific Open vSwitch race is covered. If immediate patching is not possible, reduce exposure by disabling unused Open vSwitch functionality, unloading the openvswitch kernel module where not required, restricting local shell/container access on OVS hosts, limiting privileges that allow network namespace or tunnel device manipulation, and isolating untrusted workloads from hosts that run Open vSwitch.

How to confirm the fix worked

Confirm exposure by checking whether the running kernel is from a vendor release that predates the fix and whether Open vSwitch support is present or loaded. Useful checks include `uname -a`, distribution package queries for the installed and running kernel, `lsmod | grep openvswitch`, `modinfo openvswitch`, and Open vSwitch operational checks such as `ovs-vsctl show` where available. Confirm remediation by verifying the system has booted into a patched kernel, not merely installed one, and by validating the vendor changelog/advisory references this CVE or the relevant Open vSwitch RCU/netdev reference fix. For mitigations, confirm the openvswitch module is not loaded on systems where it is not required and that untrusted users or containers cannot create or manipulate OVS tunnel interfaces. Kernel logs should be reviewed after validation testing to ensure there are no new Oops, BUG, KASAN, refcount, or RCU warnings associated with Open vSwitch tunnel teardown.

Typical attack path

  1. Gain local execution on an affected Linux host with Open vSwitch kernel functionality available.
  2. Identify whether Open vSwitch tunnel vports or tunnel netdevices can be created, modified, or destroyed from the attacker-controlled context.
  3. Trigger repeated tunnel device unregister and destroy sequences to widen the race window between NETDEV_UNREGISTER, vport destruction, and RCU readers.
  4. Attempt to cause stale vport->dev access after the netdevice reference has been released.
  5. Use the resulting kernel memory corruption condition to crash the system or attempt privilege escalation to kernel/root privileges.
  6. If privilege escalation succeeds, disable defenses, access host data, tamper with network forwarding, or pivot to other workloads or systems.

How to detect it

Look for signs of prior exploitation in kernel and system logs rather than application logs. Relevant sources include `dmesg`, `/var/log/kern.log`, `/var/log/messages`, journald kernel entries via `journalctl -k`, crash dump directories, kdump/vmcore artifacts, audit logs for suspicious local privilege escalation attempts, container runtime logs showing unusual privileged networking operations, and Open vSwitch service logs. Investigate kernel Oops, BUG, panic, KASAN, KCSAN, refcount, use-after-free, RCU stall, or general protection fault messages that mention Open vSwitch, vport, netdev unregister, tunnel devices, or functions such as `ovs_netdev_tunnel_destroy` and `vport_netdev_free`. Also look for unusual bursts of OVS tunnel/interface creation and deletion, repeated manipulation of VXLAN/Geneve/GRE tunnel ports, unexpected local use of `ovs-vsctl`, `ip link`, `tc`, or namespace tooling, and crashes followed by suspicious privilege changes or persistence activity. Absence of these artifacts does not prove non-exploitation because a successful kernel privilege escalation may leave limited logs, but kernel instability around OVS tunnel teardown is a strong triage signal.

  • ovs_netdev_tunnel_destroy
  • vport_netdev_free
  • openvswitch
  • NETDEV_UNREGISTER
  • vport->dev
  • BUG: kernel NULL pointer dereference
  • BUG: unable to handle kernel paging request
  • general protection fault
  • kernel BUG at
  • KASAN: use-after-free
  • KCSAN: data-race
  • refcount_t: underflow
  • refcount_t: addition on 0
  • RCU stall
  • suspicious RCU usage
  • kernel panic
  • Oops:
  • vxlan
  • geneve
  • gre_sys
  • ovs-vsctl add-port
  • ovs-vsctl del-port
  • ip link add
  • ip link delete
  • /sys/module/openvswitch
  • /var/crash
  • /var/lib/systemd/coredump

What your security team should do

  • Inventory Linux systems running Open vSwitch, prioritizing virtualization hosts, Kubernetes/container networking nodes, SDN gateways, NFV appliances, and multi-tenant compute hosts.
  • Patch affected systems to a vendor-supported kernel containing the Open vSwitch RCU/netdev reference fix, then reboot and verify the running kernel version.
  • Prioritize remediation for hosts that allow untrusted local users, untrusted containers, CI workloads, or tenant workloads, because exploitation requires local access but can have full host impact.
  • Where Open vSwitch is not required, disable or unload the openvswitch kernel module and prevent it from loading at boot.
  • Restrict capabilities and administrative paths that permit network namespace creation, tunnel creation, or Open vSwitch device manipulation, especially CAP_NET_ADMIN in containers.
  • Increase monitoring for kernel crashes, Oops events, RCU stalls, refcount warnings, and Open vSwitch tunnel device churn until patching is complete.
  • Because EPSS is low, not KEV-listed, and no mature exploit is reported, treat this as a high-impact local privilege-escalation hardening item rather than an active mass-exploitation emergency, unless critical multi-tenant OVS hosts are affected.

The record

In the Linux kernel, the following vulnerability has been resolved: openvswitch: defer tunnel netdev_put to RCU release ovs_netdev_tunnel_destroy() may run after NETDEV_UNREGISTER already detached the device. Dropping the netdev reference in destroy can race with concurrent readers that still observe vport->dev. Do not release vport->dev in ovs_netdev_tunnel_destroy(). Instead, let vport_netdev_free() drop the reference from the RCU callback, matching the non-tunnel destroy path and avoiding additional synchronization under RTNL.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities