CVE-2026-23351

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
25/03/2026
Last modified:
24/04/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> netfilter: nft_set_pipapo: split gc into unlink and reclaim phase<br /> <br /> Yiming Qian reports Use-after-free in the pipapo set type:<br /> Under a large number of expired elements, commit-time GC can run for a very<br /> long time in a non-preemptible context, triggering soft lockup warnings and<br /> RCU stall reports (local denial of service).<br /> <br /> We must split GC in an unlink and a reclaim phase.<br /> <br /> We cannot queue elements for freeing until pointers have been swapped.<br /> Expired elements are still exposed to both the packet path and userspace<br /> dumpers via the live copy of the data structure.<br /> <br /> call_rcu() does not protect us: dump operations or element lookups starting<br /> after call_rcu has fired can still observe the free&amp;#39;d element, unless the<br /> commit phase has made enough progress to swap the clone and live pointers<br /> before any new reader has picked up the old version.<br /> <br /> This a similar approach as done recently for the rbtree backend in commit<br /> 35f83a75529a ("netfilter: nft_set_rbtree: don&amp;#39;t gc elements on insert").

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.6.1 (including) 5.10.253 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.203 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.167 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.130 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.77 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.17 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 6.19.7 (excluding)
cpe:2.3:o:linux:linux_kernel:5.6:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*