CVE-2026-23231

HIGH

Linux Kernel Use-After-Free in nf_tables_addchain

Title source: llm
STIX 2.1

Exploitation Summary

EIP tracks 1 public exploit for CVE-2026-23231. PoCs published by aviralyash27.

AI-analyzed exploit summary This is a functional exploit for CVE-2026-23231, a Linux kernel nf_tables RCU use-after-free vulnerability. It demonstrates a local privilege escalation (LPE) by racing chain dump operations against a UAF trigger, spraying freed memory with msg_msg, and overwriting modprobe_path.

Description

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.

Exploits (1)

exploitdb WORKING POC
by aviralyash27 · pythonlocallinux
https://www.exploit-db.com/exploits/52549

This is a functional exploit for CVE-2026-23231, a Linux kernel nf_tables RCU use-after-free vulnerability. It demonstrates a local privilege escalation (LPE) by racing chain dump operations against a UAF trigger, spraying freed memory with msg_msg, and overwriting modprobe_path.

Classification
Working Poc 95%
Attack Type
Lpe
Complexity
Complex
Reliability
Racy
Target: Linux Kernel 3.16 – 6.19.3
No auth needed
Prerequisites: Linux kernel version 3.16 to 6.19.3 · CAP_NET_ADMIN capability · cgroup v2 memory limit for OOM trigger
devstral-2 · analyzed May 05, 2026 Full analysis →

Scores

CVSS v3 7.8
EPSS 0.0081
EPSS Percentile 52.2%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Details

CWE
CWE-416
Status published
Products (21)
linux/Kernel 3.16.0 - 6.1.165linux
linux/Kernel 6.13.0 - 6.18.14linux
linux/Kernel 6.19.0 - 6.19.4linux
linux/Kernel 6.2.0 - 6.6.128linux
linux/Kernel 6.7.0 - 6.12.75linux
Linux/Linux < 3.16
Linux/Linux 3.16
Linux/Linux 6.1.165 - 6.1.*
Linux/Linux 6.12.75 - 6.12.*
Linux/Linux 6.18.14 - 6.18.*
... and 11 more
Published Mar 04, 2026
Tracked Since Mar 04, 2026