Skip to main content

Linux Kernel CVE-2026-72493

| EUVDEUVD-2026-59392 CRITICAL
2026-08-15 Linux GHSA-hhj5-7x2f-mw3r
Critical
Disputed · 9.9 Vendor: Linux
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY
9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local kernel race via namespace teardown gives AV:L and AC:H (TOCTOU window); PR:L reflects need for namespace/veth creation; kernel UAF can yield full C/I/A impact.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat
5.5 MEDIUM
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 09:52 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
9.9 (CRITICAL)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 05:57 cve.org
CRITICAL 9.9
CVE Published
Aug 15, 2026 - 05:57 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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).

AnalysisAI

Kernel memory corruption in the Linux networking stack lets a local actor trigger a slab use-after-free in the packet-processing path (fib_rules_lookup) via a TOCTOU race in enqueue_to_backlog(). The flaw affects the per-CPU backlog flushing during device unregistration/network-namespace teardown, where a lockless transmitter such as veth_xmit can queue a packet that escapes flush_all_backlogs() and is later dereferenced after free. No public exploit identified at time of analysis; EPSS is low (0.16%, 6th percentile) and it is not on CISA KEV, so this is a defect fixed upstream rather than an actively-exploited threat.

Technical ContextAI

The bug lives in the software receive path of the Linux kernel network subsystem (net/core/dev.c). enqueue_to_backlog() feeds packets into per-CPU input queues (softnet backlog) that are drained by NAPI. Commit e9e4dd3267d0 ('net: do not process device backlog during unregistration') added a lockless netif_running() check to stop queuing to a device losing its IFF_UP flag, but reading that flag outside the backlog lock created a time-of-check/time-of-use window. A lockless transmitter (veth_xmit) can pass the check, stall, and then acquire the backlog lock only after dev_close()/flush_all_backlogs() have already completed - leaving a stale packet referencing a freed net_device/fib rule structure that is dereferenced during later routing lookup in fib_rules_lookup(). The root-cause class is a use-after-free (CWE-416) rooted in a concurrency race condition (CWE-362); the input lists CWE as N/A. CPE identifies the affected product only generically as cpe:2.3:a:linux:linux. The fix moves the netif_running() check inside the backlog lock so it serializes with the flush work.

RemediationAI

Patch available per vendor advisory: apply the upstream stable fixes referenced at https://git.kernel.org/stable/c/2fface6e0bbd6314d1d9d071abf2c4d67548511c and https://git.kernel.org/stable/c/46762cefe7f4e5bffc1eb467810a7bbb02e461d7, which move the netif_running() check inside the backlog lock. In practice, update to your distribution's current patched kernel package for your stable series (exact release tag not enumerated in the provided data - confirm the fix commit is included via the changelog). Because a released, numbered patched version is not independently confirmed here, verify the commit is present rather than relying on a version guess. As a compensating control where kernel updates cannot be applied immediately, restrict the ability of unprivileged users to create network namespaces and veth pairs - e.g. set user.max_user_namespaces=0 or sysctl kernel.unprivileged_userns_clone=0 (side effect: breaks rootless containers and some sandboxing) - since the described trigger relies on namespace teardown with virtual interfaces.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-72493 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy