CVE-2026-23351: netfilter: nft_set_pipapo: split gc into unlink and reclaim phase
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nft_set_pipapo: split gc into unlink and reclaim phase
Yiming Qian reports Use-after-free in the pipapo set type:
Under a large number of expired elements, commit-time GC can run for a very
long time in a non-preemptible context, triggering soft lockup warnings and
RCU stall reports (local denial of service).
We must split GC in an unlink and a reclaim phase.
We cannot queue elements for freeing until pointers have been swapped.
Expired elements are still exposed to both the packet path and userspace
dumpers via the live copy of the data structure.
call_rcu() does not protect us: dump operations or element lookups starting
after call_rcu has fired can still observe the free'd element, unless the
commit phase has made enough progress to swap the clone and live pointers
before any new reader has picked up the old version.
This a similar approach as done recently for the rbtree backend in commit
35f83a75529a ("netfilter: nft_set_rbtree: don't gc elements on insert").
Security readout for executives and security teams
Plain-English summary
A Linux kernel netfilter nftables bug can leave freed set elements visible to packet processing or userspace readers. A local authenticated user may be able to destabilize the host, and CVSS rates confidentiality, integrity, and availability impact as high.
Executive priority
Patch through normal high-priority kernel maintenance, faster for shared Linux infrastructure and industrial products cited by Siemens. No source proves active exploitation, but kernel memory-safety bugs have meaningful operational risk.
Technical view
The issue is in nft_set_pipapo garbage collection. Expired elements were reclaimed before commit swapped clone/live pointers, so later lookups or dumps could observe freed memory. The kernel fix separates unlink and reclaim phases.
Likely exposure
Exposure is most likely on Linux systems using nftables pipapo sets, especially multi-user hosts or appliances allowing local users. Distribution backports may alter version checks.
Exploitation context
The bundle does not show CISA KEV listing or public active exploitation. The CVSS vector is local, low complexity, low privilege, no user interaction.
Researcher notes
Do not rely only on upstream version numbers because vendors often backport fixes. The source description emphasizes local denial of service from UAF/RCU timing, while CVSS also rates confidentiality and integrity high.
Mitigation direction
Apply vendor kernel updates containing the referenced stable fixes.
Check Linux distribution advisories for backported patched kernel builds.
Review Siemens advisories if operating affected Siemens products.
Prioritize shared, multi-user, container-host, and appliance kernels.
Validation and detection
Inventory running kernel versions and vendor build identifiers.
Confirm whether nftables pipapo set functionality is present or used.
Map installed kernels to vendor advisories or referenced stable commits.
Check logs for soft lockups, RCU stalls, or unusual local crashes.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23351 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
11Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.