Description
In the Linux kernel, the following vulnerability has been resolved:

net: openvswitch: fix use-after-free of the flow table mask array

tbl_mask_array_realloc() retires the old mask_array before it stops being
reachable:

old = ovsl_dereference(tbl->mask_array);
if (old) {
...
call_rcu(&old->rcu, mask_array_rcu_cb);
}

rcu_assign_pointer(tbl->mask_array, new);

call_rcu() only waits for read-side critical sections already in flight.
tbl->mask_array still points at old between the call_rcu() and the
rcu_assign_pointer(), so a reader entering ovs_flow_tbl_lookup_stats() in
that window picks up old in a fresh critical section that the pending
grace period does not cover.

tbl_mask_array_realloc() runs in process context under ovs_mutex, so the
window is preemptible and can outlast the grace period. Then
mask_array_rcu_cb() frees old before the swap runs:

BUG: KASAN: slab-use-after-free in flow_lookup.constprop.0+0x2bf/0x2f0
Read of size 8 at addr ffff888020b3e018 by task poc/741
flow_lookup.constprop.0+0x2bf/0x2f0
ovs_flow_tbl_lookup_stats+0x4a3/0x5c0
ovs_dp_process_packet+0x19c/0x710
ovs_vport_receive+0x243/0x390
internal_dev_xmit+0x81/0x170
Freed by task 728:
kfree+0x16a/0x4e0
rcu_core+0x853/0x1030

Publish the new array before retiring the old one. The kfree_rcu() that
call_rcu() replaced ran after the swap.
Published: 2026-09-25
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel memory corruption via use‑after‑free
Action: Immediate Patch
AI Analysis

Impact

A race condition exists in the Linux kernel’s openvswitch networking module where the flow table mask array is reallocated before the old array is fully released. The old array remains reachable between the call to call_rcu() and the pointer swap, allowing a reader in ovs_flow_tbl_lookup_stats() to access freed memory. This use‑after‑free can lead to kernel memory corruption, which may cause the system to crash or, if exploited, grant an attacker arbitrary code execution in kernel mode.

Affected Systems

The vulnerability affects all Linux kernel releases that include the openvswitch module and have not applied the upstream patch. Systems running Open vSwitch with the kernel module are at risk until the kernel is updated to the fixed version.

Risk and Exploitability

The CVSS score of 7.8 indicates high severity. The EPSS score of <1% indicates a very low exploitation probability. The vulnerability is not cataloged in CISA KEV. Attackers are likely to trigger the race window by manipulating traffic directed to Open vSwitch, such as sending crafted packets or flows while the reallocation occurs; this inference is drawn from the described timing window and interaction with packet processing. The potential for remote code execution exists if the kernel memory corruption is successfully exploited.

Generated by OpenCVE AI on October 1, 2026 at 08:58 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply an updated Linux kernel that contains the openvswitch reallocation fix, ensuring the new mask array is published before the old one is retired.
  • If a kernel upgrade cannot be performed immediately, disable or restrict the Open vSwitch service or unload the kernel module to avoid the vulnerable code path.
  • Continuously monitor system logs, such as dmesg and kernel logs, for KASAN or BUG messages that indicate use‑after‑free incidents, and investigate any anomalies promptly.

Generated by OpenCVE AI on October 1, 2026 at 08:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DLA Debian DLA DLA-4841-1 linux security update
Debian DSA Debian DSA DSA-6528-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Sat, 03 Oct 2026 11:15:00 +0000


Wed, 30 Sep 2026 00:15:00 +0000


Fri, 25 Sep 2026 23:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Fri, 25 Sep 2026 13:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: fix use-after-free of the flow table mask array tbl_mask_array_realloc() retires the old mask_array before it stops being reachable: old = ovsl_dereference(tbl->mask_array); if (old) { ... call_rcu(&old->rcu, mask_array_rcu_cb); } rcu_assign_pointer(tbl->mask_array, new); call_rcu() only waits for read-side critical sections already in flight. tbl->mask_array still points at old between the call_rcu() and the rcu_assign_pointer(), so a reader entering ovs_flow_tbl_lookup_stats() in that window picks up old in a fresh critical section that the pending grace period does not cover. tbl_mask_array_realloc() runs in process context under ovs_mutex, so the window is preemptible and can outlast the grace period. Then mask_array_rcu_cb() frees old before the swap runs: BUG: KASAN: slab-use-after-free in flow_lookup.constprop.0+0x2bf/0x2f0 Read of size 8 at addr ffff888020b3e018 by task poc/741 flow_lookup.constprop.0+0x2bf/0x2f0 ovs_flow_tbl_lookup_stats+0x4a3/0x5c0 ovs_dp_process_packet+0x19c/0x710 ovs_vport_receive+0x243/0x390 internal_dev_xmit+0x81/0x170 Freed by task 728: kfree+0x16a/0x4e0 rcu_core+0x853/0x1030 Publish the new array before retiring the old one. The kfree_rcu() that call_rcu() replaced ran after the swap.
Title net: openvswitch: fix use-after-free of the flow table mask array
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-19T09:10:15.022Z

Reserved: 2026-09-24T16:01:01.158Z

Link: CVE-2026-97611

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:15.213

Modified: 2026-10-19T10:17:31.140

Link: CVE-2026-97611

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97611 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T09:00:05Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference