CVE-2026-80634
massInteger underflow in Linux kernel netfilter flowtable causes OOB stack read
CVE-2026-80634 is an integer underflow in the Linux kernel's netfilter flowtable code: in the bridge VLAN untag case (DEV_PATH_BR_VLAN_UNTAG), the u8 counter info->num_encaps is post-decremented inside WARN_ON_ONCE() even when it is already zero, wrapping it from 0 to 255. Because the break only exits the inner switch, a later entry on the path stack can set info->indev back to a real device, so nft_dev_forward_path() then walks the two-entry info.encap[] array as if it contained up to 255 entries, causing an out-of-bounds stack read and a bogus encapsulation count copied into the route descriptor. The flaw is triggered when nftables flowtable path resolution encounters a malformed or buggy bridge path stack, notably in bridge VLAN untag scenarios, which the maintainers characterize as an edge case; if reached, it can expose adjacent kernel stack memory and corrupt route metadata, consistent with the critical CVSS 9.8 rating. Potentially affected are systems running a vulnerable Linux kernel with nftables flowtable offloading configured, particularly router, gateway, and appliance deployments where bridged VLAN traffic traverses the flowtable; kernels without a configured flowtable are not reachable by this code path. No public proof-of-concept, CISA KEV listing, or known exploitation exists, and EPSS estimates only a 0.4% probability of exploitation within 30 days.
What to do: Update to a Linux kernel build containing the upstream netfilter flowtable fix (which moves the num_encaps decrement out of WARN_ON_ONCE and removes the WARN); consult your distribution for the backported kernel version. As an interim mitigation, disable nftables flowtable offloading or avoid routing bridged-VLAN traffic through flowtable paths. Check exposure with 'nft list ruleset' for flowtable definitions and review whether bridge VLAN untagging traffic is being offloaded.
| Linux kernel (netfilter flowtable / nftables offload) | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: avoid num_encaps underflow on bridge VLAN untag The DEV_PATH_BR_VLAN_UNTAG case post-decrements info->num_encaps inside WARN_ON_ONCE(). num_encaps is u8, so if it's already 0 the decrement still happens and wraps it to 255. The break only leaves the inner switch -- a later path entry can set info->indev back to a real device, and we end up returning with num_encaps == 255. nft_dev_forward_path() then walks info.encap[] (size 2) up to num_encaps, which means an OOB stack read and a bogus count copied into the route descriptor. Should only happen on a malformed bridge path stack, hence the WARN, but worth handling sanely. Move the decrement out of the WARN. [ While at this, remove the WARN_ON_ONCE since this can only happen with a buggy bridge path stack --pablo ].
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.