Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-43084

CVE-2026-43084: Linux Kernel Use-After-Free Vulnerability

CVE-2026-43084 is a use-after-free vulnerability in the Linux kernel's netfilter nfnetlink_queue component that can cause system crashes. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-43084 Overview

CVE-2026-43084 is a use-after-free vulnerability in the Linux kernel's nfnetlink_queue netfilter subsystem. The flaw stems from sharing a global hash table across all queues, allowing a parallel CPU to encounter an nf_queue_entry structure that has already been released via kfree. KASAN reports the issue as a slab-use-after-free triggered through nfqnl_recv_verdict. The kernel maintainers resolved the issue by making the hash table per-queue rather than global. Multiple stable kernel branches received fixes through commits 22730cb, 41e3652, 936206e, and 9e5ebef.

Critical Impact

Use-after-free conditions in kernel netfilter code can lead to memory corruption, kernel panic, or local privilege escalation depending on heap layout and exploitation primitives.

Affected Products

  • Linux kernel versions including the nfnetlink_queue netfilter module prior to the listed stable commits
  • Distributions shipping vulnerable upstream kernels with CONFIG_NETFILTER_NETLINK_QUEUE enabled
  • Systems using userspace queueing for packet inspection (for example, NFQUEUE-based IDS/IPS frameworks)

Discovery Timeline

  • 2026-05-06 - CVE-2026-43084 published to NVD
  • 2026-05-06 - Last updated in NVD database

Technical Details for CVE-2026-43084

Vulnerability Analysis

The nfnetlink_queue subsystem queues network packets to userspace for verdict decisions. Each queued packet is tracked through an nf_queue_entry structure stored in a hash table. The pre-patch implementation shared one global hash table across all queues. When a verdict arrived through nfqnl_recv_verdict, the kernel walked this shared structure to locate the matching entry.

The race condition arises when one CPU frees an nf_queue_entry via kfree while another CPU is still traversing the global list. The freed memory remains reachable through the hash, producing a slab-use-after-free condition. KASAN flagged the issue inside nfqnl_recv_verdict+0x11ac/0x15e0 during normal verdict processing.

Root Cause

The root cause is improper synchronization of object lifetime against concurrent readers in a shared data structure. Memory is released using kfree rather than a deferred mechanism such as kfree_rcu, but readers walking the hash do not hold references that prevent the free. Because the same hash table services every queue, the contention surface scales with the number of active queues.

Attack Vector

A local attacker with the ability to create netfilter queues and submit verdicts can race verdict processing against entry teardown. Triggering the race requires concurrent operations against nfnetlink_queue from multiple CPUs. Successful exploitation corrupts kernel slab memory, with potential outcomes ranging from denial of service through kernel panic to memory corruption useful for privilege escalation.

No public exploit code is available. See the upstream fix in Kernel Git Commit 22730cb for the structural change that converts the hash table to per-queue allocation.

Detection Methods for CVE-2026-43084

Indicators of Compromise

  • KASAN reports referencing slab-use-after-free in nfqnl_recv_verdict in kernel logs or dmesg output
  • Unexpected kernel panics or oops messages originating from the nfnetlink_queue module
  • Crash signatures including the call path nfnetlink_rcv_msg followed by nfqnl_recv_verdict

Detection Strategies

  • Audit running kernel versions against the patched stable commits 22730cb, 41e3652, 936206e, and 9e5ebef
  • Monitor for unprivileged or container workloads that hold CAP_NET_ADMIN and interact with NFQUEUE targets
  • Correlate kernel ring buffer crashes with workloads using userspace packet queueing frameworks

Monitoring Recommendations

  • Forward dmesg and /var/log/kern.log to a central logging pipeline and alert on KASAN or oops signatures
  • Track loaded kernel modules and flag hosts where nfnetlink_queue is active on unpatched kernels
  • Establish baseline crash rates for netfilter components and investigate deviations

How to Mitigate CVE-2026-43084

Immediate Actions Required

  • Apply the upstream stable kernel updates that include the per-queue hash table fix and reboot affected hosts
  • Inventory systems using NFQUEUE and prioritize patching for multi-tenant or container hosts where local users can trigger the race
  • Restrict CAP_NET_ADMIN to trusted processes to limit who can create netfilter queues

Patch Information

The fix converts the global hash table to a per-queue structure, eliminating cross-queue lifetime conflicts. Apply the kernel update containing the relevant commit for your stable branch: Kernel Git Commit 22730cb, Kernel Git Commit 41e3652, Kernel Git Commit 936206e, or Kernel Git Commit 9e5ebef.

Workarounds

  • Unload the nfnetlink_queue module on systems that do not require userspace packet queueing
  • Disable CONFIG_NETFILTER_NETLINK_QUEUE in custom kernel builds where the feature is unused
  • Remove NFQUEUE rules from active iptables, nftables, or ebtables configurations until patches are deployed
bash
# Configuration example
# Check if nfnetlink_queue is loaded
lsmod | grep nfnetlink_queue

# Unload the module if no NFQUEUE rules are active
sudo modprobe -r nfnetlink_queue

# Blacklist the module to prevent autoload
echo 'blacklist nfnetlink_queue' | sudo tee /etc/modprobe.d/blacklist-nfqueue.conf

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.