CVE-2026-52912: Linux Kernel Bridge NFQUEUE Use-After-Free Privilege Escalation
A use-after-free vulnerability exists in the Linux kernel's netfilter bridge packet queuing mechanism. When bridge packets are queued for userspace processing via NFQUEUE, the kernel can lose track of the correct network device reference. If the bridge is torn down while packets remain queued, reinjecting those packets causes the kernel to access memory that has already been freed, potentially leading to system crash or code execution with local privilege.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-416
- Affected products
- 5 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-08
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_queue: hold bridge skb->dev while queued br_pass_frame_up() rewrites skb->dev from the ingress port to the bridge master before queueing bridge LOCAL_IN packets. NFQUEUE only holds references on state.in/out and bridge physdevs, so a queued bridge packet can retain a freed bridge master in skb->dev until reinjection. When the verdict is reinjected later, br_netif_receive_skb() re-enters the receive path with skb->dev still pointing at the freed bridge master, triggering a use-after-free. Store skb->dev in the queue entry, hold a reference on it for the queue lifetime, and use the saved device when dropping queued packets during NETDEV_DOWN handling.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-52912 is a use-after-free flaw (CWE-416) in the Linux kernel's netfilter nf_queue subsystem affecting bridge (br_*) packet handling. The vulnerability occurs because br_pass_frame_up() rewrites skb->dev from the ingress port to the bridge master before queuing LOCAL_IN packets. The queue entry holds references only on state.in/out and bridge physical devices, not the bridge master itself. When a queued bridge packet is reinjected after the bridge has been destroyed, br_netif_receive_skb() re-enters the receive path with skb->dev pointing to freed memory. The fix stores skb->dev in the queue entry, maintains a reference for the queue's lifetime, and uses the saved device during NETDEV_DOWN cleanup to prevent dangling pointers.
Business impact
This vulnerability affects systems using Linux kernel with netfilter and bridge forwarding enabled—common in container orchestration, network appliances, and multi-tenant virtualization environments. Successful exploitation by a local attacker with network namespace privileges can crash the kernel (denial of service) or potentially execute arbitrary code in kernel context. Organizations relying on bridge-based network segmentation or packet filtering should prioritize patching to maintain system stability and prevent lateral movement through network isolation bypass.
Affected systems
The Linux kernel is affected across multiple versions. The vulnerability specifically impacts configurations where netfilter NFQUEUE and Linux bridge forwarding are both active. This is typical in Kubernetes nodes, OpenStack compute hosts, and systems using iptables/nftables with packet queuing rules on bridged interfaces. Both the ingress port and bridge master device must be present for the vulnerable code path to execute.
Exploitability
Exploitation requires local access (AV:L) and unprivileged user-level privileges (PR:L) but no user interaction. An attacker must be able to configure bridge interfaces and queue packets, typically via network namespace or container escape scenarios. The attack is straightforward once prerequisites are met: trigger bridge packet queuing, destroy the bridge, and reinject the queued packet. No special timing or race conditions are required, making this a reliable exploit vector for local privilege escalation.
Remediation
Apply the Linux kernel patch that modifies nf_queue to store and reference-count skb->dev throughout the queue lifetime. Verify the patch against your kernel version in the upstream Linux kernel repository or your distribution's security advisories. As an interim mitigation, disable NFQUEUE-based packet filtering if not operationally required, or restrict bridge creation and destruction to trusted administrators only. Systems without bridge forwarding enabled are not affected.
Patch guidance
Coordinate with your Linux distribution's security team to obtain the patched kernel version for your release. Canonical (Ubuntu), Red Hat, Debian, and other distributors will provide updated kernel packages. Test the patched kernel in a non-production environment first, particularly if you rely on bridge forwarding and NFQUEUE rules. Kernel reboots are typically required; schedule maintenance windows accordingly. Verify the patch is applied by checking kernel source or using distribution-provided security advisories with specific version numbers.
Detection guidance
Monitor for kernel panic logs mentioning use-after-free or address sanitizer warnings in br_netif_receive_skb() or nfqueue code paths. Enable audit logging for network namespace and bridge interface changes in privileged contexts. Network behavior detection is limited; focus on system-level telemetry. If NFQUEUE rules are in use, log packet queue depths and reinject operations to detect unusual patterns. Container escape or privilege escalation attempts may precede this exploit; correlate with process execution monitoring.
Why prioritize this
HIGH severity (CVSS 7.8) due to confidentiality, integrity, and availability impact combined with low attack complexity and local-only requirement. While not currently in active KEV exploitation (KEV: false), the reliability of the exploit and presence in kernel-intensive infrastructure (containers, NFV) makes this a significant internal risk. Organizations running bridged Kubernetes clusters or OpenStack should prioritize this as a critical stability and security issue.
Risk score, explained
CVSS 3.1 score of 7.8 reflects high impact (C:H/I:H/A:H) against local privilege boundary (S:U), low attack complexity (AC:L), and requirement for local user access (PR:L/AV:L). The use-after-free primitive permits both kernel crash and potential code execution. The score accurately reflects the severity for systems running the affected code path; systems without bridge forwarding or NFQUEUE are unaffected and should score lower contextually.
Frequently asked questions
Do I need to patch immediately if I don't use bridge forwarding?
No. This vulnerability only affects systems where Linux bridge interfaces (br_*) are actively configured and netfilter NFQUEUE is in use. Systems using standard routing without bridge forwarding are not vulnerable. Verify your iptables/nftables rules for NFQUEUE targets and check if any bridge interfaces exist on your systems.
Can this be exploited remotely or only locally?
Only locally. The attacker must have user-level access on the system (e.g., unprivileged container escape or compromised process). Remote network access alone is insufficient. However, the low privilege bar (unprivileged user) makes it a serious risk in shared hosting and container environments.
What's the difference between this and a standard kernel NULL pointer dereference?
This is a use-after-free, meaning the memory is deallocated but still referenced, not simply never allocated. This is generally more dangerous because the freed memory may be reallocated for other purposes, potentially enabling code execution rather than just a crash. Detection and exploitation are more complex than NULL dereferences.
If I patch my kernel, do I need to reboot immediately?
Yes, kernel patches typically require a reboot to take effect. Schedule the reboot during a maintenance window. Some advanced techniques like kpatch or livepatch may allow live patching on certain distributions, but these are not guaranteed for all kernel updates; verify with your distribution's documentation.
This analysis is based on the CVE description and CVSS vector provided as of the publication date. Patch availability, version numbers, and exploitation details are subject to change; consult your Linux distribution's official security advisories for authoritative guidance. SEC.co does not provide exploit code or detailed weaponization steps. This vulnerability is not currently listed in CISA's KEV catalog but may warrant inclusion based on infrastructure prevalence. Test all patches in non-production environments before deployment. Organizations should validate affected system inventory independently using kernel version audits and configuration reviews. Source: NVD (public-domain), retrieved 2026-07-30. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-10001HIGHChrome Sandbox Escape via PerformanceManager Use-After-Free
- CVE-2026-10002HIGHGoogle Chrome PDFium Use-After-Free Vulnerability (CVSS 8.8)
- CVE-2026-10003HIGHChrome Use-After-Free Code Execution Vulnerability Analysis
- CVE-2026-10007HIGHChrome Use-After-Free in SVG Arbitrary Code Execution (CVSS 8.8)
- CVE-2026-10012HIGHChrome Skia Use-After-Free Sandbox Escape (v148.0.7778.216)
- CVE-2026-10013HIGHUse-After-Free in Chrome WebCodecs – Patch Guide & Risk Assessment
- CVE-2026-10016HIGHUse-After-Free in Chrome DOM – Sandbox Code Execution Vulnerability
- CVE-2026-10882HIGHCritical Chrome Use-After-Free RCE Vulnerability – Exploit Details & Patch Guidance