← Back to CVE Explorer

CVE-2026-72493

Full vulnerability record from the local CVENow database.

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

Severity
CRITICAL
CVSS score
9.9 (v3.1)
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-08-15 06:22:23.643000
Last modified
2026-10-21 13:19:38.960000
View original CVE JSON
{
  "id": "CVE-2026-72493",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-08-15T06:22:23.643",
  "lastModified": "2026-10-21T13:19:38.960",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: serialize netif_running() check in enqueue_to_backlog()\n\nSyzbot reported a KASAN slab-use-after-free in fib_rules_lookup().\n\nThe root cause is a race condition where packets can escape the backlog\nflushing during device unregistration (e.g., during netns exit).\n\nCommit e9e4dd3267d0 (\"net: do not process device backlog during unregistration\")\nintroduced a lockless netif_running() check in enqueue_to_backlog() to\nprevent queuing packets to an unregistering device.\n\nHowever, this creates a TOCTOU race window.\n\nA lockless transmitter (like veth_xmit) can pass\nthe check before dev_close() clears IFF_UP. If the transmitter is then\ndelayed, flush_all_backlogs() can run and finish before the transmitter\ngrabs the backlog lock and queues the packet. The packet then escapes\nthe flush and triggers UAF later when processed.\n\nFix this by moving the netif_running() check inside the backlog lock.\nThis serializes the check with the flush work (which also grabs the lock).\nWe then either queue the packet before the flush runs (so it gets flushed),\nor check netif_running() after the flush/close completes (so it gets dropped)."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/core/dev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "e9e4dd3267d0c5234c5c0f47440456b10875dec9",
              "lessThan": "cbe10ea090ea9d6fa5ff50c9b44f2a86fe56f0b7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e9e4dd3267d0c5234c5c0f47440456b10875dec9",
              "lessThan": "b422e3eff0edf0975de4883929adbed28f9d08bc",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e9e4dd3267d0c5234c5c0f47440456b10875dec9",
              "lessThan": "2fface6e0bbd6314d1d9d071abf2c4d67548511c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "e9e4dd3267d0c5234c5c0f47440456b10875dec9",
              "lessThan": "46762cefe7f4e5bffc1eb467810a7bbb02e461d7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "78b6803a1961369d0b8350ff1f99b7375bbd7a8f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "b5d73d9cdd6be22795499890ea928a6f57ef829c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f6533fed1bfa842e391ee50f9a9c5e963c71e579",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2095ab2456da766174cda8bc105d7a7b1bc70e16",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f1fdb184aefa8447560e3ea0e605171592ffee41",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f75c8a3015422128ca150e81c730bc2a471b5f4a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "3.2.71",
              "lessThan": "3.3",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.4.111",
              "lessThan": "3.5",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.12.48",
              "lessThan": "3.13",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.14.54",
              "lessThan": "3.15",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "3.18.22",
              "lessThan": "3.19",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "4.1.9",
              "lessThan": "4.2",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/core/dev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.2",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.2",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.114",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.57",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.1.5",
              "lessThanOrEqual": "7.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
          "baseScore": 9.9,
          "baseSeverity": "CRITICAL",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 3.1,
        "impactScore": 6.0
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-10-16T18:50:52.967716Z",
          "id": "CVE-2026-72493",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2fface6e0bbd6314d1d9d071abf2c4d67548511c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/46762cefe7f4e5bffc1eb467810a7bbb02e461d7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b422e3eff0edf0975de4883929adbed28f9d08bc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cbe10ea090ea9d6fa5ff50c9b44f2a86fe56f0b7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}