net: serialize netif_running() check in enqueue_to_backlog() (Linux Linux)

CVE-2026-72493
CRITICAL 9.9

En bref

Source
NVD
EPSS
EPSS 0.40 % · centile 35 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
Linux
Statut NVD
Received

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

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1CRITICAL 9.9CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLinux
CVSS 3.1CRITICAL 9.9CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

Références européennes

Avis du CERT-FR

Produits affectés

ProduitVersions
Linux · Linuxaffected e9e4dd3267d0c5234c5c0f47440456b10875dec9 < cbe10ea090ea9d6fa5ff50c9b44f2a86fe56f0b7 ; affected e9e4dd3267d0c5234c5c0f47440456b10875dec9 < b422e3eff0edf0975de4883929adbed28f9d08bc ; affected e9e4dd3267d0c5234c5c0f47440456b10875dec9 < 2fface6e0bbd6314d1d9d071abf2c4d67548511c ; affected e9e4dd3267d0c5234c5c0f47440456b10875dec9 < 46762cefe7f4e5bffc1eb467810a7bbb02e461d7 ; affected 78b6803a1961369d0b8350ff1f99b7375bbd7a8f ; affected b5d73d9cdd6be22795499890ea928a6f57ef829c
Linux · Linuxaffected 4.2 ; unaffected 0 < 4.2 ; unaffected 6.12.114 ≤ 6.12.* ; unaffected 6.18.57 ≤ 6.18.* ; unaffected 7.1.5 ≤ 7.1.* ; unaffected 7.2 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD