CVE Catalog

CVE-2026-23231

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.81%

53th percentile - higher than 53% of all known CVEs

Summary

In the Linux kernel netfilter nf_tables subsystem, a use-after-free vulnerability was found in nf_tables_addchain(). The chain is published to the list before hook registration, and on registration failure it is removed and destroyed without waiting for ongoing RCU operations, leading to two use-after-free scenarios: in the control path (chain dump) and in the packet path (transient IPv4 hook).

Risk Assessment

An attacker could exploit this vulnerability to access already freed kernel memory, potentially causing a system panic or, with controlled data overwrite, privilege escalation.

Recommendation

Immediately update the Linux kernel to a version containing the fix that adds RCU synchronization (synchronize_rcu()) between chain removal and destruction. Check your distribution for the available patch.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS