CVE-2026-23111: netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()
nft_map_catchall_activate() has an inverted element activity check
compared to its non-catchall counterpart nft_mapelem_activate() and
compared to what is logically required.
nft_map_catchall_activate() is called from the abort path to re-activate
catchall map elements that were deactivated during a failed transaction.
It should skip elements that are already active (they don't need
re-activation) and process elements that are inactive (they need to be
restored). Instead, the current code does the opposite: it skips inactive
elements and processes active ones.
Compare the non-catchall activate callback, which is correct:
nft_mapelem_activate():
if (nft_set_elem_active(ext, iter->genmask))
return 0; /* skip active, process inactive */
With the buggy catchall version:
nft_map_catchall_activate():
if (!nft_set_elem_active(ext, genmask))
continue; /* skip inactive, process active */
The consequence is that when a DELSET operation is aborted,
nft_setelem_data_activate() is never called for the catchall element.
For NFT_GOTO verdict elements, this means nft_data_hold() is never
called to restore the chain->use reference count. Each abort cycle
permanently decrements chain->use. Once chain->use reaches zero,
DELCHAIN succeeds and frees the chain while catchall verdict elements
still reference it, resulting in a use-after-free.
This is exploitable for local privilege escalation from an unprivileged
user via user namespaces + nftables on distributions that enable
CONFIG_USER_NS and CONFIG_NF_TABLES.
Fix by removing the negation so the check matches nft_mapelem_activate():
skip active elements, process inactive ones.
Security readout for executives and security teams
Plain-English summary
CVE-2026-23111 is a Linux kernel nftables flaw that can let a local user turn a failed ruleset transaction into a kernel use-after-free. Successful exploitation can provide root-level control on systems where user namespaces and nftables are enabled.
Executive priority
Treat this as high priority for multi-user Linux, container hosts, developer workstations, and internet-facing servers with local users. It is not remotely exploitable by itself, but it can turn limited local access into full system compromise.
Technical view
The bug is an inverted activity check in nft_map_catchall_activate(). During abort handling, inactive catchall map elements are not reactivated, so NFT_GOTO verdict references can lose chain use counts. Repeated aborts can allow DELCHAIN to free a still-referenced chain, creating a use-after-free.
Likely exposure
Most exposed systems are Linux hosts that enable CONFIG_USER_NS and CONFIG_NF_TABLES, including some container-capable distributions. The source bundle identifies Linux kernel versions and vendor advisories, but exact exposure depends on each distribution kernel and backport status.
Exploitation context
The bundle says exploitation is local privilege escalation from an unprivileged user through user namespaces and nftables. KEV is false, and the provided sources do not establish active in-the-wild exploitation.
Researcher notes
Focus validation on nftables catchall map verdict behavior and abort-path reference restoration, not generic nftables exposure alone. The fix aligns nft_map_catchall_activate() with nft_mapelem_activate() by skipping active elements and processing inactive ones.
Mitigation direction
Apply kernel updates from your Linux distribution or vendor advisory.
Prioritize Red Hat and vendor errata listed for affected enterprise kernels.
Disable or restrict unprivileged user namespaces where operationally feasible.
Limit local shell and container access on high-value systems until patched.
Track appliance vendor advisories for embedded Linux exposure.
Validation and detection
Inventory running kernel versions across servers, workstations, and appliances.
Check whether CONFIG_USER_NS and CONFIG_NF_TABLES are enabled.
Compare installed kernels against distro advisories and fixed package levels.
Confirm hosts rebooted into the updated kernel after patching.
Review vendor advisories for Siemens or other packaged Linux products.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
3ADP providers
17Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Operation on a Resource after Expiration or Release
Operation on a Resource after Expiration or Release represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.