Skip to main content
← All vulnerabilities
CVE-2026-23278

netfilter: nf_tables: always walk all pending catchall elements

Affects the Linux kernel nf_tables netfilter code in several stable branches. Fixes are listed for 5.15.224, 6.1.177, 6.6.144, 6.12.78, 6.18.19 and 6.19.9. CVSS score is 7.8 (high).

Published
Last modified
published
Not listed in CISA KEV
Specific setups only
Fix
Fixed in 5.15.224, 6.1.177, 4.20, 5.5, 5.11, and 5 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: always walk all pending catchall elements During transaction processing we might have more than one catchall element: 1 live catchall element and 1 pending element that is coming as part of the new batch. If the map holding the catchall elements is also going away, its required to toggle all catchall elements and not just the first viable candidate. Otherwise, we get: WARNING: ./include/net/netfilter/nf_tables.h:1281 at nft_data_release+0xb7/0xe0 [nf_tables], CPU#2: nft/1404 RIP: 0010:nft_data_release+0xb7/0xe0 [nf_tables] [..] __nft_set_elem_destroy+0x106/0x380 [nf_tables] nf_tables_abort_release+0x348/0x8d0 [nf_tables] nf_tables_abort+0xcf2/0x3ac0 [nf_tables] nfnetlink_rcv_batch+0x9c9/0x20e0 [..]

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 5.15.121 · fixed in 5.15.224; From 6.1.36 · fixed in 6.1.177; From 4.19.316 · fixed in 4.20; From 5.4.262 · fixed in 5.5; From 5.10.188 · fixed in 5.11; From 6.3.10 · fixed in 6.4

  • Linux Linux

    6.4

  • KernelLinux

    fixed in 6.1.177; From 6.2.0 · fixed in 6.6.144; From 6.4.0 · fixed in 6.12.78; From 6.7.0 · fixed in 6.18.19; From 6.13.0 · fixed in 6.19.9

References 7

git.kernel.org

FAQ

Questions about CVE-2026-23278

What does this mean?

The nf_tables firewall code can fail to walk all pending catchall elements. This can happen when more than one catchall element exists during transaction processing, with one live and one pending in the new batch, and the map holding them is also being removed. The facts do not describe the resulting effect.Source: git.kernel.org, git.kernel.org

Am I affected, and how do I check?

The listed ranges cover Linux kernel stable branches from 4.19.316 to 4.20, 5.4.262 to 5.5, 5.10.188 to 5.11, 5.15.121 to 5.15.224, 6.1.36 to 6.1.177, and 6.3.10 to 6.4. Check the running kernel version with uname -r and compare it with the fixed version for its branch.Source: git.kernel.org, git.kernel.org

What should I do about it?

Update to the fixed release for your branch: 5.15.224, 6.1.177, 6.6.144, 6.12.78, 6.18.19 or 6.19.9, or the matching later stable release. The fix was modified to apply to the v6.6.y and v6.1.y branches.Source: git.kernel.org, git.kernel.org

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data