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
A Linux kernel nftables flaw can let a low-privileged local user turn a failed ruleset transaction into a use-after-free and potentially gain full system control. It is not remotely exploitable by itself; the attacker needs local code execution and systems must expose user namespaces and nftables.
Executive priority
Treat this as a high-priority privilege-escalation issue on exposed Linux systems, especially shared or container-heavy infrastructure. Patch internet-facing systems too, but prioritize by local foothold likelihood and namespace availability. It is not evidence of immediate remote compromise, and the supplied sources do not confirm exploitation in the wild.
Technical view
An inverted activity check in nft_map_catchall_activate() mishandles catchall map elements during transaction aborts. Repeated aborted DELSET operations can reduce a referenced chain’s use count without restoring it. The chain may then be freed while NFT_GOTO elements still reference it, producing a use-after-free with confidentiality, integrity, and availability impact.
Likely exposure
Linux hosts are most exposed when CONFIG_USER_NS and CONFIG_NF_TABLES are enabled and untrusted users or workloads can create user namespaces. Multi-user systems, developer hosts, and container platforms deserve attention. The supplied version data is complex and includes commit identifiers, so determine exposure using each distribution’s advisory rather than version-string comparison alone.
Exploitation context
The source bundle describes local privilege escalation as feasible and includes public technical analysis. The CVSS score is 7.8 with low attack complexity and low privileges required. However, the record is not in KEV, and the supplied evidence does not establish active exploitation in the wild.
Researcher notes
The failure occurs in the abort-path reactivation of catchall map elements. Missing nft_data_hold() restoration allows chain reference-count depletion across abort cycles, followed by chain deletion and a dangling verdict reference. CWE-416 and CWE-672 apply. Kernel stable commits and distribution errata should be used to establish branch-specific fixes; avoid assuming semantic version ordering captures backports.
Mitigation direction
Install the vendor-supported kernel update addressing CVE-2026-23111 and reboot into the updated kernel.
Use distribution advisories to map packaged kernels and backports; do not rely solely on upstream version numbers.
Where operationally acceptable, restrict unprivileged user namespaces until affected systems are patched.
Prioritize hosts allowing untrusted local users, containers, or other workloads to access nftables capabilities.
Validation and detection
Record the running kernel and installed package versions, then compare them with the distribution’s CVE advisory.
Confirm whether CONFIG_USER_NS and CONFIG_NF_TABLES are enabled on each potentially affected kernel.
Identify whether untrusted users or workloads can create user namespaces and interact with nftables.
After updating and rebooting, verify the running kernel matches a vendor-fixed package.
Review kernel security telemetry for crashes or use-after-free indicators; absence does not prove non-exploitation.
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
21Source 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.