{"id":"CVE-2026-97611","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: fix use-after-free of the flow table mask array\n\ntbl_mask_array_realloc() retires the old mask_array before it stops being\nreachable:\n\n\told = ovsl_der…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: fix use-after-free of the flow table mask array\n\ntbl_mask_array_realloc() retires the old mask_array before it stops being\nreachable:\n\n\told = ovsl_der…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-825"],"vendor":"Linux","product":"Linux","affected":["Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < 4c98b492e9ed63f9ca3e23566d9a6a4f235944f4","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < 4016ead17acd75312c066ecd47c4b7f0a81ceaa2","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < 017dbbf0d6c319a487f68e22f56d91fc787d5525","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < 76678217cdabc41e3c74c23b45b62086ffb8fe7a","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < cd982e11684def5d4a9fcfd5354de09032828414","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < a0d18d21d48a551f82ee344e50efb8a682161489","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < 035e9c3722067648a99010711d0ce81f42572ef4","Linux >= eac87c413bf9794c14d488998a5265ea5b32f04e < ba4ba11ed6eb8972c69070417fc27b48deb002e8","Linux 5.9"],"published":"2026-09-25","updated":"2026-10-03","sourceUpdated":"2026-10-03T11:18:07.490","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-97611","references":[{"url":"https://git.kernel.org/stable/c/017dbbf0d6c319a487f68e22f56d91fc787d5525","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/035e9c3722067648a99010711d0ce81f42572ef4","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/4016ead17acd75312c066ecd47c4b7f0a81ceaa2","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/4c98b492e9ed63f9ca3e23566d9a6a4f235944f4","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/76678217cdabc41e3c74c23b45b62086ffb8fe7a","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/a0d18d21d48a551f82ee344e50efb8a682161489","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/ba4ba11ed6eb8972c69070417fc27b48deb002e8","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/cd982e11684def5d4a9fcfd5354de09032828414","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-97611.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-97611"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2541043"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-97611"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97611"},{"url":"https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-97611.mbox"}],"tags":["nvd","cve.org","csaf","vex","red-hat"],"epss":0.0016,"epssPercentile":0.05057,"scores":{"nvd":7.8,"vendor":7,"cna":7.8},"ingestedAt":"2026-09-25T11:06:38.899Z","slug":"CVE-2026-97611","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: fix use-after-free of the flow table mask array\n\ntbl_mask_array_realloc() retires the old mask_array before it stops being\nreachable:\n\n\told = ovsl_dereference(tbl->mask_array);\n\tif (old) {\n\t\t...\n\t\tcall_rcu(&old->rcu, mask_array_rcu_cb);\n\t}\n\n\trcu_assign_pointer(tbl->mask_array, new);\n\ncall_rcu() only waits for read-side critical sections already in flight.\ntbl->mask_array still points at old between the call_rcu() and the\nrcu_assign_pointer(), so a reader entering ovs_flow_tbl_lookup_stats() in\nthat window picks up old in a fresh critical section that the pending\ngrace period does not cover.\n\ntbl_mask_array_realloc() runs in process context under ovs_mutex, so the\nwindow is preemptible and can outlast the grace period. Then\nmask_array_rcu_cb() frees old before the swap runs:\n\n  BUG: KASAN: slab-use-after-free in flow_lookup.constprop.0+0x2bf/0x2f0\n  Read of size 8 at addr ffff888020b3e018 by task poc/741\n   flow_lookup.constprop.0+0x2bf/0x2f0\n   ovs_flow_tbl_lookup_stats+0x4a3/0x5c0\n   ovs_dp_process_packet+0x19c/0x710\n   ovs_vport_receive+0x243/0x390\n   internal_dev_xmit+0x81/0x170\n  Freed by task 728:\n   kfree+0x16a/0x4e0\n   rcu_core+0x853/0x1030\n\nPublish the new array before retiring the old one. The kfree_rcu() that\ncall_rcu() replaced ran after the swap.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, … · updated 2026-09-29 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-97611.json)","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":210964,"id":"CVE-2026-97611","ts":1790349119474,"field":"cvss","old":null,"new":"7.8"},{"seq":210963,"id":"CVE-2026-97611","ts":1790349119474,"field":"severity","old":"none","new":"high"}]}