KernelScan.io

HIGH Public exploit Introduced in 6.4

netfilter Catchall UAF

CVE-2026-23278

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.1HIGH

01

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 [..]

02

Engine v0.2.0

Risk summary

Local attackers with CAP_NET_ADMIN (obtainable via unprivileged user namespaces on default kernels) can trigger a use-after-free in netfilter's nf_tables catchall element processing during transaction abort. The resulting memory corruption can expose kernel heap contents or object pointers and lead to kernel warnings, memory corruption, or system crashes.

Affectednet/netfilter/nf_tables_api.c (netfilter)

Vulnerability analysis

The vulnerability occurs in netfilter's nf_tables transaction processing where catchall element cleanup functions (nft_map_catchall_deactivate and nft_map_catchall_activate) prematurely exit their loops after processing only the first element. During complex transactions involving map destruction, multiple catchall elements (live and pending) may exist, but only the first is properly toggled. This leaves other elements with dangling references to freed map or chain objects. When the transaction aborts and attempts to release these elements, nft_data_release operates on stale pointers, causing a use-after-free. The attack surface is local netlink access to nf_tables. While CAP_NET_ADMIN is required, this capability is commonly available to unprivileged processes through user namespaces. The fix removes the erroneous break statements to ensure all catchall elements are walked.

Exploit availability

KernelScan found public exploit code for this CVE. Open it in the CVE browser to see what we found, where, and how strong the evidence is — that needs a free account with a confirmed email address.

03

BranchIntroducedFixed inPatch commit
4.194.19.3164.204830fb44d12f
5.105.10.1885.11de47a88c6b80
5.155.15.1215.1677c26b5056d6
5.45.4.2625.5eb0948fa1329
6.16.1.366.1.177c4d4e86fda70
6.126.46.12.78—
6.186.46.18.19—
6.196.46.19.9—
6.36.3.106.47cb9a23d7ae4
6.66.46.6.144—
mainline6.47.0—
cip/6.16.46.1.177-cip58c4d4e86fda70
cip/6.1-rt6.46.1.182-cip59-rt31c4d4e86fda70
cip/6.126.46.12.78-cip19eb0948fa1329

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.78-cip19
cip/6.1Fixed in 6.1.177-cip58
cip/6.1-rtFixed in 6.1.182-cip59-rt31
cip/5.10Affected — no CIP fix yet (latest 5.10.271-cip78)
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)