CVE-2026-23111netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()
Updated under an hour ago ()
Does this affect you?
It affects Linux and 8 other products. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
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.
- CVSS
- 7.8 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weakness (CWE)
- CWE-416, CWE-672
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Modified
- Record last updated
- Oct 15, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | 25aa2ad37c2162be1c0bc4fe6397f7e4c13f00f8 builds before 8c760ba4e36c750379d13569f23f5a6e185333f5; from d60be2da67d172aecf866302c91ea11533eca4d9 before b9b6573421de51829f7ec1cce76d85f5f6fbbd7f; 628bd3e49cba1c066228e23d71a852c23e26da73 builds before 42c574c1504aa089a0a142e4c13859327570473d; from 628bd3e49cba1c066228e23d71a852c23e26da73 before 1444ff890b4653add12f734ffeffc173d42862dd; 628bd3e49cba1c066228e23d71a852c23e26da73 builds before 8b68a45f9722f2babe9e7bad00aa74638addf081; from 628bd3e49cba1c066228e23d71a852c23e26da73 before f41c5d151078c5348271ffaf8e7410d96f2d82f8; bc9f791d2593f17e39f87c6e2b3a36549a3705b1; 3c7ec098e3b588434a8b07ea9b5b36f04cef1f50; and 8 more ranges | CNA record |
Siemens RUGGEDCOM RST2428P siemens:ruggedcom_rst2428p (from the name) | before V4.0 | CISA ADP |
Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP siemens:simatic_s7_1500_cpu_1518_4_pn_dp_mfp (from the name) | from V3.1.6 | CISA ADP |
Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP siemens:simatic_s7_1500_cpu_1518f_4_pn_dp_mfp (from the name) | from V3.1.6 | CISA ADP |
Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP siemens:siplus_s7_1500_cpu_1518_4_pn_dp_mfp (from the name) | from V3.1.6 | CISA ADP |
Red Hat Red Hat Enterprise Linux 10 redhat:enterprise_linux | from 0:6.12.0-211.7.1.el10_2 not affected | CISA ADP |
Red Hat Red Hat Enterprise Linux 10.0 Extended Update Support redhat:enterprise_linux_eus | from 0:6.12.0-55.70.1.el10_0 not affected | CISA ADP |
Red Hat Red Hat Enterprise Linux 9.4 Extended Update Support redhat:rhel_eus | from 0:5.14.0-427.121.1.el9_4 not affected | CISA ADP |
linux linux_kernel linux:linux_kernel | from 4.19.316 before 4.20; from 5.4.262 before 5.5; from 5.10.188 before 5.11; from 5.15.121 before 5.15.200; from 6.1.36 before 6.1.163; from 6.3.10 before 6.4; from 6.4.1 before 6.6.124; from 6.7 before 6.12.70; and 10 more ranges | NVD |
References
- https://git.kernel.org/stable/c/8c760ba4e36c750379d13569f23f5a6e185333f5patch
- https://git.kernel.org/stable/c/b9b6573421de51829f7ec1cce76d85f5f6fbbd7fpatch
- https://git.kernel.org/stable/c/42c574c1504aa089a0a142e4c13859327570473dpatch
- https://git.kernel.org/stable/c/1444ff890b4653add12f734ffeffc173d42862ddpatch
- https://git.kernel.org/stable/c/8b68a45f9722f2babe9e7bad00aa74638addf081patch
- https://git.kernel.org/stable/c/f41c5d151078c5348271ffaf8e7410d96f2d82f8patch
- https://access.redhat.com/errata/RHSA-2026:10108
- https://access.redhat.com/errata/RHSA-2026:10996
- https://access.redhat.com/errata/RHSA-2026:18134
- https://access.redhat.com/errata/RHSA-2026:62639
- https://access.redhat.com/errata/RHSA-2026:62641
- https://access.redhat.com/errata/RHSA-2026:6570
- https://access.redhat.com/errata/RHSA-2026:9112
- https://access.redhat.com/security/cve/CVE-2026-23111
- https://blog.exodusintel.com/2026/06/08/off-by-exploiting-a-use-after-free-in-the-linux-kernel/
- https://bugzilla.redhat.com/show_bug.cgi?id=2439687
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html
- https://cert-portal.siemens.com/productcert/html/ssa-253495.html
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23111.json
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.