CVE-2026-23231CWE-416

CVE-2026-23231

High · published March 4, 2026

CVSS v3.1
7.8
EPSS
1%
Percentile
57.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nf_tables: fix use-after-free in nf_tables_addchain()

nf_tables_addchain() publishes the chain to table->chains via

list_add_tail_rcu() (in nft_chain_add()) before registering hooks.

If nf_tables_register_hook() then fails, the error path calls

nft_chain_del() (list_del_rcu()) followed by nf_tables_chain_destroy()

with no RCU grace period in between.

This creates two use-after-free conditions:

1) Control-plane: nf_tables_dump_chains() traverses table->chains

under rcu_read_lock(). A concurrent dump can still be walking

the chain when the error path frees it.

2) Packet path: for NFPROTO_INET, nf_register_net_hook() briefly

installs the IPv4 hook before IPv6 registration fails. Packets

entering nft_do_chain() via the transient IPv4 hook can still be

dereferencing chain->blob_gen_X when the error path frees the

chain.

Add synchronize_rcu() between nft_chain_del() and the chain destroy

so that all RCU readers -- both dump threads and in-flight packet

evaluation -- have finished before the chain is freed.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00837 · 57.3th percentile
Weakness
CWE-416 · Use After Free
Published
2026-03-04T18:15Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel≥ 3.16, < 6.1.1656.1.165
linux/linux_kernel≥ 6.2, < 6.6.1286.6.128
linux/linux_kernel≥ 6.7, < 6.12.756.12.75
linux/linux_kernel≥ 6.13, < 6.18.146.18.14
linux/linux_kernel≥ 6.19, < 6.19.46.19.4
References (11)
EPSS history
Timeline
  • 04 MAR 12:58Z
    netfilter: nf_tables: fix use-after-free in nf_tables_addchain()
    cvelistv5