Description
In the Linux kernel, the following vulnerability has been resolved:

net: serialize netif_running() check in enqueue_to_backlog()

Syzbot reported a KASAN slab-use-after-free in fib_rules_lookup().

The root cause is a race condition where packets can escape the backlog
flushing during device unregistration (e.g., during netns exit).

Commit e9e4dd3267d0 ("net: do not process device backlog during unregistration")
introduced a lockless netif_running() check in enqueue_to_backlog() to
prevent queuing packets to an unregistering device.

However, this creates a TOCTOU race window.

A lockless transmitter (like veth_xmit) can pass
the check before dev_close() clears IFF_UP. If the transmitter is then
delayed, flush_all_backlogs() can run and finish before the transmitter
grabs the backlog lock and queues the packet. The packet then escapes
the flush and triggers UAF later when processed.

Fix this by moving the netif_running() check inside the backlog lock.
This serializes the check with the flush work (which also grabs the lock).
We then either queue the packet before the flush runs (so it gets flushed),
or check netif_running() after the flush/close completes (so it gets dropped).
Published: 2026-08-15
Score: 9.9 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This kernel bug arises from a race condition between the lockless check of the device state when queuing packets and the later flushing of the device backlog during unregistration. When a lockless transmitter passes a stale running check, the backlog may be flushed before the packet is enqueued, allowing the packet to escape the flush and later invoke a use‑after‑free in the packet handling path. This flaw can lead to arbitrary writes in kernel memory and therefore remote code execution in privileged context.

Affected Systems

All Linux kernel builds that do not include the committed fix (move the netif_running() check inside the backlog lock). The vulnerability is present in kernels prior to the application of the commit referenced above and affects all distributions that ship those unpatched kernels.

Risk and Exploitability

The CVSS score of 9.9 classifies this vulnerability as critical. The EPSS score is < 1%, and the vulnerability is not listed in CISA KEV. Nonetheless, the flaw involves a kernel use‑after‑free, a high‑severity condition. An attacker would require the ability to transmit malicious packets while a network namespace is being torn down or a device is being unregistered, which typically implies local or privileged access. The potential impact is remote code execution with root privileges. The lack of a public exploit does not diminish the severity of the flaw given its inherent kernel privilege escalation risk.

Generated by OpenCVE AI on August 22, 2026 at 02:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Linux kernel patch that moves the netif_running() check into the backlog lock (commit e9e4dd3267).
  • Prior to deleting a network namespace, bring all interfaces down with "ip link down" to avoid premature backlog flushing.
  • If possible, avoid using lockless transmitters such as veth_xmit during namespace teardown, or configure them to synchronize with the flush mechanism.

Generated by OpenCVE AI on August 22, 2026 at 02:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 20 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.9, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H'}


Sat, 15 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: serialize netif_running() check in enqueue_to_backlog() Syzbot reported a KASAN slab-use-after-free in fib_rules_lookup(). The root cause is a race condition where packets can escape the backlog flushing during device unregistration (e.g., during netns exit). Commit e9e4dd3267d0 ("net: do not process device backlog during unregistration") introduced a lockless netif_running() check in enqueue_to_backlog() to prevent queuing packets to an unregistering device. However, this creates a TOCTOU race window. A lockless transmitter (like veth_xmit) can pass the check before dev_close() clears IFF_UP. If the transmitter is then delayed, flush_all_backlogs() can run and finish before the transmitter grabs the backlog lock and queues the packet. The packet then escapes the flush and triggers UAF later when processed. Fix this by moving the netif_running() check inside the backlog lock. This serializes the check with the flush work (which also grabs the lock). We then either queue the packet before the flush runs (so it gets flushed), or check netif_running() after the flush/close completes (so it gets dropped).
Title net: serialize netif_running() check in enqueue_to_backlog()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:44:54.422Z

Reserved: 2026-08-09T03:40:39.937Z

Link: CVE-2026-72493

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:23.643

Modified: 2026-08-17T06:19:17.683

Link: CVE-2026-72493

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72493 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T03:00:12Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime