UBUNTU-CVE-2026-23231
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.
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
10 explicit affected versions
6 explicit affected versions
24 explicit affected versions
10 explicit affected versions
33 explicit affected versions
26 explicit affected versions
7 explicit affected versions
36 explicit affected versions
13 explicit affected versions
40 explicit affected versions
35 explicit affected versions
18 explicit affected versions
41 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
48 explicit affected versions
1 explicit affected versions
21 explicit affected versions
9 explicit affected versions
16 explicit affected versions
10 explicit affected versions
16 explicit affected versions
44 explicit affected versions
8 explicit affected versions
7 explicit affected versions
12 explicit affected versions
11 explicit affected versions
7 explicit affected versions
12 explicit affected versions
14 explicit affected versions
10 explicit affected versions
1 explicit affected versions
7 explicit affected versions
12 explicit affected versions
12 explicit affected versions
5 explicit affected versions
12 explicit affected versions
37 explicit affected versions
16 explicit affected versions
13 explicit affected versions
25 explicit affected versions
30 explicit affected versions
10 explicit affected versions
37 explicit affected versions
10 explicit affected versions
5 explicit affected versions
13 explicit affected versions
36 explicit affected versions
3 explicit affected versions
10 explicit affected versions
11 explicit affected versions
26 explicit affected versions
7 explicit affected versions
13 explicit affected versions
29 explicit affected versions
13 explicit affected versions
12 explicit affected versions
37 explicit affected versions
38 explicit affected versions
4 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
16 explicit affected versions
15 explicit affected versions
11 explicit affected versions
5 explicit affected versions
12 explicit affected versions
5 explicit affected versions
7 explicit affected versions
12 explicit affected versions
4 explicit affected versions
11 explicit affected versions
5 explicit affected versions
10 explicit affected versions
26 explicit affected versions
34 explicit affected versions
31 explicit affected versions
43 explicit affected versions
11 explicit affected versions
5 explicit affected versions
13 explicit affected versions
42 explicit affected versions
16 explicit affected versions
46 explicit affected versions
3 explicit affected versions
7 explicit affected versions
11 explicit affected versions
51 explicit affected versions
12 explicit affected versions
18 explicit affected versions
38 explicit affected versions
12 explicit affected versions
5 explicit affected versions
27 explicit affected versions
39 explicit affected versions
8 explicit affected versions
5 explicit affected versions
8 explicit affected versions
10 explicit affected versions
7 explicit affected versions
42 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
8 explicit affected versions
10 explicit affected versions
12 explicit affected versions
9 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
45 explicit affected versions
37 explicit affected versions
47 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
13 explicit affected versions
11 explicit affected versions
35 explicit affected versions
16 explicit affected versions
10 explicit affected versions
8 explicit affected versions
7 explicit affected versions
4 explicit affected versions
3 explicit affected versions
1 explicit affected versions
13 explicit affected versions
43 explicit affected versions
9 explicit affected versions
10 explicit affected versions
8 explicit affected versions
41 explicit affected versions
14 explicit affected versions
4 explicit affected versions
78 explicit affected versions
10 explicit affected versions
11 explicit affected versions
1 explicit affected versions
15 explicit affected versions
35 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/71e99ee20fc3f662555118cf1159443250647533
- https://git.kernel.org/stable/c/2a6586ecfa4ce1413daaafee250d2590e05f1a33
- https://git.kernel.org/stable/c/2f9a4ffeb763aec822f8ff3d1e82202d27d46d4b
- https://git.kernel.org/stable/c/7017745068a9068904e1e7a1b170a5785647cc81
- https://git.kernel.org/stable/c/71e99ee20fc3f662555118cf1159443250647533
- https://git.kernel.org/stable/c/dbd0af8083dd201f07c49110b2ee93710abdff28
- https://git.kernel.org/stable/c/f3fe58ce37926a10115ede527d59b91bcc05400a
- https://ubuntu.com/security/CVE-2026-23231
- https://ubuntu.com/security/notices/USN-8244-1
- https://ubuntu.com/security/notices/USN-8245-1
- https://ubuntu.com/security/notices/USN-8254-1
- https://ubuntu.com/security/notices/USN-8254-2
- https://ubuntu.com/security/notices/USN-8254-3
- https://ubuntu.com/security/notices/USN-8257-1
- https://ubuntu.com/security/notices/USN-8258-1
- https://ubuntu.com/security/notices/USN-8260-1
- https://ubuntu.com/security/notices/USN-8261-1
- https://ubuntu.com/security/notices/USN-8440-1
- https://ubuntu.com/security/notices/USN-8508-1
- https://www.cve.org/CVERecord?id=CVE-2026-23231