Skip to main content

Linux Kernel EUVDEUVD-2026-86903

| CVE-2026-97595 HIGH
2026-09-25 Linux GHSA-jxcw-xwwv-r3hm
7.5
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach victim within 802.15.4 radio range
  2. Delivery
    Flood interface with MAC-command/beacon frames
  3. Exploit
    Frames queued with unreferenced sdata pointer
  4. Execution
    Interface removed frees sdata during race
  5. Persist
    Worker dereferences freed memory
  6. Impact
    Kernel use-after-free crash (DoS)

Vulnerability Assessment

Exploitation Conditions

Requires the Linux mac802154 (IEEE 802.15.4 soft-MAC) stack in use with an active 802.15.4 wireless interface, and typically CONFIG_MAC802154 with real or virtual 802.15.4 hardware. Exploitation needs two concurrent conditions: (1) an attacker within 802.15.4 radio range flooding the victim interface with MAC command or beacon frames to fill the RX beacon/mac-cmd worker lists, and (2) that interface being unregistered/removed (ieee802154_if_remove or whole-phy teardown) while frames remain queued. Limiting factors: the bug is a narrow timing race (AC:H) between the RX worker and interface teardown, the teardown step generally requires administrative/local privilege, and the subsystem is only present on niche low-power PAN deployments - making reliable triggering difficult and the practical outcome a kernel crash rather than data theft.

Impact

The NVD-assigned score is 7.5 with vector CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H, but that C:H/I:H/A:H triad substantially overstates real-world impact. The described flaw is a classic use-after-free / unlocked-list race in the mac802154 (IEEE 802.15.4 wireless PAN) RX path: received beacon and MAC-command frames are queued with a raw sdata pointer held with neither a reference count nor a lock, so removing an interface while frames are queued yields a slab-use-after-free (confirmed by the KASAN splat in the description). The realistic outcome is a kernel crash / memory corruption (DoS), not attacker-controlled information disclosure or code execution - I assess closer to C:N/I:L/A:H. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so this is no public exploit identified at time of analysis. Exploitation is further constrained by the race window (AC:H is justified) and by the fact that triggering requires an administrative interface teardown (netdev unregister) concurrent with over-the-air frame flooding - a difficult, non-deterministic combination rather than a repeatable primitive. Note a signal conflict: the Tags list 'Information Disclosure' while the description and CWE class describe a use-after-free/DoS - the tag is mislabeled. Overall this is a low-priority hardening fix for a niche subsystem, not a high-real-risk issue despite the 7.5 headline.

Exploit ScenarioDerived

An attacker within IEEE 802.15.4 radio range floods a victim's 802.15.4 interface with MAC command (or beacon) frames, filling local->rx_mac_cmd_list / rx_beacon_list with queued frames that hold raw sdata pointers. If an administrator (or teardown path) then removes that interface, its sdata (netdev_priv) is freed while a queued worker still references it, and the next mac802154_rx_mac_cmd_worker run dereferences freed memory, crashing the kernel. No public exploit code is identified; exploitation depends on winning a narrow removal-vs-worker race.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 25, 2026

Use-after-free in the Linux kernel's mac802154 (IEEE 802.15.4 soft-MAC) RX path lets queued beacon or MAC-command frames keep a pointer to an 802.15.4 interface's private data (sdata) after that interface has been removed, so a later worker run dereferences freed memory and crashes the kernel. Triggering it requires two simultaneous conditions: an attacker within 802.15.4 radio range flooding a victim interface to fill the rx_beacon_list/rx_mac_cmd_list, and that interface being unregistered or its whole phy torn down while frames are still queued - the teardown step generally requires administrative/local privilege (PR:L in our assessment, not the PR:N shown in the 7.5 NVD vector), and the race window is narrow (AC:H). The realistic outcome is a kernel crash / denial of service rather than data theft, and no public exploit code was identified at time of analysis.

RemediationAI

Apply the vendor-released patches: upgrade to Linux 6.12.111, 6.18.53, 7.2.7 or 7.3-rc3 (or later), or backport the referenced stable commits 4740ef0518c5e3bf31ebfb2288a6ac3b462ead06, 07f0214018d7241e3610c1be984c8abfce16c099, 3d1fde35f95d7f02a7dc473c51d81e8d9e992cfc and 2f37fba846c9fdff5fc15b6d93656057ccd13031, which introduce local->rx_lock, netdev_hold()/netdev_put() pinning of sdata for queued frames, head dequeue with full list draining, and removal of pending frames during interface and whole-phy teardown. Where patching cannot be scheduled immediately, the most effective compensating control is to not expose 802.15.4 interfaces to untrusted radio traffic: disable or blacklist the module on hosts that do not need PAN connectivity (for example modprobe.blacklist=mac802154, or leaving CONFIG_MAC802154 unset in custom kernels), with the trade-off that all 802.15.4 functionality is lost. On systems that must keep the stack, avoid unregistering, reconfiguring or tearing down 802.15.4 interfaces while RX traffic is active and quiesce/flush in-flight frames first, and restrict the ability to remove interfaces (the teardown half of the race is administrative and, per our assessment, typically requires local privilege), noting that this reduces but does not eliminate the race window because the flood condition is attacker-controlled from radio range. Use IEEE 802.15.4 link-layer security where the deployment supports it to make frame injection harder; advisories are available via https://nvd.nist.gov/vuln/detail/CVE-2026-97595 and the git.kernel.org stable commit links. No workaround was identified in the source data that fully substitutes for the locking and reference-counting fix.

Affected VersionsENISA

Linux patch: 6.12.111
Linux patch: 7.3-rc3
Linux 57588c71177f0bfc08509c2c3a9bfe32850c0786 <3d1fde35f95d7f02a7dc473c51d81e8d9e992cfc
Linux 6.3
Linux 57588c71177f0bfc08509c2c3a9bfe32850c0786 <07f0214018d7241e3610c1be984c8abfce16c099
Linux patch: 7.2.7
Linux 57588c71177f0bfc08509c2c3a9bfe32850c0786 <4740ef0518c5e3bf31ebfb2288a6ac3b462ead06
Linux patch: 6.18.53
Linux patch: 0
Linux 57588c71177f0bfc08509c2c3a9bfe32850c0786 <2f37fba846c9fdff5fc15b6d93656057ccd13031

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

mac802154 is the Linux soft-MAC implementation for IEEE 802.15.4 low-power wireless PANs, enabled via CONFIG_MAC802154 and present only on systems with real or virtual 802.15.4 hardware. In the RX softirq path, ieee802154_subif_frame() queues received beacon and MAC-command frames onto the phy-local lists local->rx_beacon_list and local->rx_mac_cmd_list and schedules a process-context workqueue worker, storing a raw mac_pkt->sdata along with skb->dev == sdata->dev without taking any reference or lock. Two defects follow: the lists are unsynchronised, so the softirq producer's list_add_tail() races the worker's list_del() and can corrupt the lists for sibling interfaces on the same phy, and the workers (mac802154_rx_mac_cmd_worker() dereferencing mac_pkt->sdata, and mac802154_rx_beacon_worker() -> mac802154_process_beacon() dereferencing skb->dev) can run after the interface has been removed and its sdata - which is netdev_priv - freed, producing the KASAN slab-use-after-free read of size 4 reproduced by flooding a victim interface with MAC command frames and removing it. The upstream fix adds local->rx_lock and takes it around every list access (plain spin_lock in softirq context, spin_lock_bh in the process-context workers and flush), pins the interface for the lifetime of a queued frame with netdev_hold()/netdev_put() so the worker can safely dereference sdata/skb->dev during removal, dequeues at the head under the lock and loop-drains the whole list in each worker instead of processing one frame per run, and drops not-yet-started frames of an interface before unregistration from both ieee802154_if_remove() (after the RCU grace period) and the whole-phy teardown path ieee802154_remove_interfaces(); the MAC-command worker additionally skips stopped interfaces via ieee802154_sdata_running() to avoid a pointless association response during teardown. netdev_hold() was chosen over cancel_work_sync() under rtnl because the latter would block on the worker's unbounded MLME TX wait in ieee802154_sync_queue(). No CWE identifier is assigned in the available source data; the described failure mode is consistent with a use-after-free (CWE-416) driven by an unsynchronised concurrent-access race (CWE-362).

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.5 HIGH
AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 5.4 MEDIUM

Over-the-air 802.15.4 frames drive queueing (AV:A) but the UAF fires on a hard-to-win removal race (AC:H) whose teardown trigger needs local privilege (PR:L); crash-dominant so C:N/I:L/A:H.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Adjacent
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 15:22 NVD
7.5 (HIGH)
Patch available
Sep 25, 2026 - 11:02 EUVD
CVE Published
Sep 25, 2026 - 10:22 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 25, 2026 - 10:22 cve.org
HIGH 7.5

DescriptionCVE.org

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

mac802154: fix use-after-free of sdata via queued RX frames

The RX softirq producer ieee802154_subif_frame() queues received beacon and MAC-command frames onto local->rx_beacon_list / rx_mac_cmd_list and schedules a process-context worker, storing a raw mac_pkt->sdata (and skb->dev == sdata->dev) with neither a reference nor any locking:

  • the lists have no lock: the softirq producer list_add_tail()s while the

mac_wq worker list_del()s, so sibling interfaces on the same phy corrupt the list;

  • the workers dereference the interface after it may have been freed.

mac802154_rx_mac_cmd_worker() touches mac_pkt->sdata directly, and mac802154_rx_beacon_worker() -> mac802154_process_beacon() dereferences skb->dev (== sdata->dev). Removing an interface frees its sdata (netdev_priv) while a queued frame still points at it, so a later worker run is a use-after-free.

Reproduced under KASAN by flooding a victim interface with MAC command frames and removing it (the beacon path is the same class via skb->dev):

BUG: KASAN: slab-use-after-free in mac802154_rx_mac_cmd_worker+0x463/0x630 [mac802154] Read of size 4 at addr ffff888002f9ea18 by task kworker/u8:1/31 Workqueue: phy0-mac-cmds mac802154_rx_mac_cmd_worker [mac802154] Call Trace: mac802154_rx_mac_cmd_worker+0x463/0x630 [mac802154] process_one_work+0x611/0xe80 worker_thread+0x52e/0xdc0 kthread+0x30c/0x630 ret_from_fork+0x2fd/0x3e0

Fix both lists together:

  • add local->rx_lock and take it around every list access: the softirq

producer (plain spin_lock, softirq context) and the workers and flush (spin_lock_bh, process context);

  • pin the interface for the lifetime of a queued frame with

netdev_hold()/netdev_put(), so the worker can safely dereference sdata / skb->dev even while the interface is being removed;

  • dequeue under the lock at the head and loop-drain the whole list in the

workers (they previously processed one frame per run and relied on a later enqueue to drain the rest);

  • drop not-yet-started frames of an interface before it is unregistered,

from ieee802154_if_remove() (after the RCU grace period) and from the ieee802154_remove_interfaces() loop -- the latter is the whole-phy teardown path, which does not go through ieee802154_if_remove().

An in-flight worker that already dequeued a frame keeps its own netdev reference; unregister_netdevice() then waits it out in netdev_run_todo(), which runs at rtnl_unlock() (rtnl released) and after the interface has been closed, so it does not pin rtnl. A worker blocked in an association TX only delays that one interface's unregister (the usual "waiting for %s to become free"), it does not hold rtnl. netdev_hold() is used for this reason instead of a cancel_work_sync() under rtnl, which would block on the worker's unbounded MLME TX wait via ieee802154_sync_queue().

The mac-command worker additionally skips processing for a stopped interface (ieee802154_sdata_running()), avoiding a needless association response during teardown.

Executive ViewAI

Why It Matters

A high-severity use-after-free in the Linux kernel's mac802154 (IEEE 802.15.4) RX path can cause a kernel crash and denial of service on systems using 802.15.4 radio interfaces, such as industrial IoT and building automation networks. Exploitation requires an attacker within radio range and authenticated local access to trigger interface teardown while frames are queued. While no public exploit code exists, unpatched devices remain vulnerable to disruption, and a vendor patch is available.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
mac802154 is niche IEEE 802.15.4 wireless-PAN stack, rare hardware in production
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact
Medium

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Vendor StatusVendor

SUSE

Severity: Moderate
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 Not-Affected

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