Skip to main content

Linux Kernel EUVDEUVD-2026-82278

| CVE-2026-93170 HIGH
2026-09-17 Linux GHSA-mc6p-4g8q-qv3v
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Local access to system using Xilinx DMA channel
  2. Delivery
    Queue multiple concurrent DMA descriptors
  3. Exploit
    Interrupt fires mid-processing before active_list drained
  4. Execution
    Channel wrongly marked idle, spurious start_transfer
  5. Persist
    Descriptor corruption or missed completion
  6. Impact
    DMA subsystem hang/crash (DoS)

Vulnerability Assessment

Exploitation Conditions

Requires local access to a system running the Linux kernel Xilinx DMA driver (xilinx_dma) in AXIDMA or MCDMA mode - i.e., Xilinx Zynq/ZynqMP/Versal FPGA SoC hardware or equivalent IP with these DMA engines active. Exploitation is not attacker-controlled input but depends on hitting a completion-path race: multiple descriptors must be queued and active simultaneously, and an interrupt must fire after some (but not all) descriptors complete so the channel is marked idle while active_list is still non-empty. Limiting factors: the affected driver/hardware must be present and in use (non-ubiquitous), the condition arises from timing rather than a crafted payload (hard to trigger deterministically), and the attacker needs local privileges to drive DMA activity - there is no remote or network path.

Impact

The vendor (Linux) assigns CVSS 7.8 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), but the technical description does not support the AC:L or full C:H/I:H triad. This is an internal race condition in the Xilinx AXIDMA/MCDMA interrupt handlers: after some descriptors complete, the channel is prematurely marked idle and start_transfer() is invoked while active_list still holds unprocessed descriptors, causing spurious transfers and 'descriptor corruption or missed completions.' This is a completion-path timing bug, not an attacker-driven input primitive - it requires a specific interleaving of queued/active descriptors and an interrupt firing mid-processing, which argues for AC:H rather than AC:L. The realistic impact is DMA state corruption / stalled or misdirected transfers (availability, and limited integrity of in-flight DMA data), not a controllable confidentiality read, so C:H is not justified. No EPSS score, no CISA KEV listing, and no public PoC are present in the input; exploitation status is 'no public exploit identified at time of analysis.' Net: this reads as a high-CVSS-but-low-real-risk reliability fix rather than an operational security priority. The 'Information Disclosure' tag conflicts with the description, which points to corruption/DoS with no disclosure vector - verify tag with vendor.

Exploit ScenarioDerived

A local workload on a Xilinx Zynq/ZynqMP/Versal SoC drives the AXI DMA or MCDMA engine with multiple queued descriptors so that an interrupt fires while descriptors are still being processed, causing the driver to mark the channel idle and launch a spurious transfer. The resulting descriptor corruption or missed completion can hang or crash the DMA subsystem and any dependent driver. No public exploit code exists, and reliably winning the completion-path race is difficult, making practical weaponization unlikely.

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

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

Alert me

AnalysisAIv1 – Sep 18, 2026

A race condition in the Linux kernel's xilinx_dma driver can cause the AXIDMA or MCDMA interrupt handler to mark a channel idle and start a new transfer while the channel's active descriptor list still holds unprocessed descriptors, leading to spurious transfer attempts, descriptor corruption, and missed completions. It affects kernels built and running on Xilinx Zynq, ZynqMP, or Versal FPGA SoCs (or equivalent IP) with these DMA engines in use, and the vendor CVSS of 7.8 with PR:L indicates a local user with basic privileges is required; no public exploit code exists and there is no confirmed active exploitation at time of analysis. Our independent assessment rates it lower than the vendor (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H) because the condition is a timing-dependent completion-path race rather than attacker-controlled input, and the vendor's AC:L plus full C:H/I:H triad is not supported by the technical description.

RemediationAI

Vendor-released patches are available: upgrade to Linux 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, or 7.2.6 (or 7.3-rc1 and later), or apply the corresponding stable-branch commits (c3e943490ced0b9ad475844eda7661f6a9bcfb4a, 7f4b989d7d87381927b98d64492f8dcf979f57ab, 0b6d055edb55ecadadf54e930c2b4fab76fa9a5a, ec927657524be4438447944a58173c7baf7f2384, 5459e02707b27a964ae72e028d3ff72a3b687c4a, 425630e9eea1f9f8912b8c6abf01e0dab1e27917, fdaf297ab275c6efecac5e87669c31bc89b74297, c27d16fd2358b2fc3e1ffaca03afd11dc28630ea) from https://git.kernel.org/stable/; for embedded products with a frozen kernel, request a backport from the SoC vendor (Xilinx/AMD) or your BSP maintainer. If immediate patching is impossible, the practical compensating control is to prevent low-privilege local users from driving the affected DMA channels: remove untrusted interactive/console accounts and containers from hosts that expose Xilinx DMA devices, since the race is only reachable via local DMA activity - the trade-off is loss of local multi-user use on that system, and note this does NOT mitigate a privileged local attacker. Blacklisting or not loading the xilinx_dma module (modprobe blacklist xilinx_dma) removes the vulnerable code path entirely, but it will break every slave client that depends on AXIDMA/MCDMA (audio, SPI, I2S, and application DMA pipelines), so only do this on systems where those peripherals are unused. Reducing concurrent descriptor submission depth in DMA client applications can shrink the race window but is not a reliable fix; the only complete remediation is applying the patched kernel. There is no remote/network attack path to block, and no public exploit code is known, so perimeter controls are not relevant here.

Affected VersionsENISA

Linux patch: 6.12.110
Linux patch: 7.2.6
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <c27d16fd2358b2fc3e1ffaca03afd11dc28630ea
Linux patch: 6.1.188
Linux patch: 6.6.157
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <fdaf297ab275c6efecac5e87669c31bc89b74297
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <0b6d055edb55ecadadf54e930c2b4fab76fa9a5a
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <ec927657524be4438447944a58173c7baf7f2384
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <5459e02707b27a964ae72e028d3ff72a3b687c4a
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <425630e9eea1f9f8912b8c6abf01e0dab1e27917
Linux patch: 7.3-rc1
Linux 4.7
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <c3e943490ced0b9ad475844eda7661f6a9bcfb4a
Linux patch: 5.10.270
Linux patch: 5.15.221
Linux c0bba3a99f0709c24c2c7ada7cb098966b1d791f <7f4b989d7d87381927b98d64492f8dcf979f57ab
Linux patch: 6.18.52
Linux patch: 0

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

The Linux dmaengine subsystem lets client drivers submit descriptor chains to a DMA controller through the generic slave/async-tx API; xilinx_dma is the kernel driver for Xilinx AXI DMA (AXIDMA) and AXI MCDMA engines found on Zynq-7000, Zynq UltraScale+ MPSoC, and Versal devices. Each channel tracks pending work in an active_list and completed work in a done_list, and an IRQ handler walks the active list calling xilinx_dma_complete_descriptor() to move finished descriptors to done_list before invoking the client callback. The defect is in that handler's channel-state bookkeeping: after completing a subset of descriptors it incorrectly sets the channel to idle and calls start_transfer() even though active_list is still non-empty, so a subsequent interrupt or submission can race against descriptors still in flight. The correct behavior is to declare the channel idle and begin a new transfer only when active_list is genuinely empty, which is what the upstream fix implements. Root cause is a classic driver concurrency/state-machine error (race-condition class); the CVE metadata carries no CWE, and no attacker-supplied payload is involved - the trigger is a timing window produced by concurrent descriptor activity. CPE records are the generic cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*, so the CNA flags the kernel as a whole rather than specific driver builds or SoC variants, even though the code path only exists when CONFIG_XILINX_DMA is enabled and the hardware is present.

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.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 5.3 MEDIUM

Local-only DMA completion race (AV:L, AC:H) needing privilege to drive the channel (PR:L); impact is descriptor corruption/DoS (A:H, limited I:L) with no disclosure (C:N).

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Sep 18, 2026 - 18:22 NVD
7.8 (HIGH)
Patch available
Sep 17, 2026 - 17:19 EUVD
CVE Published
Sep 17, 2026 - 16:12 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 17, 2026 - 16:12 cve.org
HIGH 7.8

DescriptionCVE.org

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

dmaengine: xilinx_dma: Fix channel idle state management in AXIDMA and MCDMA interrupt handlers

Fix a race condition in AXIDMA and MCDMA irq handlers where the channel could be incorrectly marked as idle and attempt spurious transfers when descriptors are still being processed.

The issue occurs when:

  1. Multiple descriptors are queued and active.
  2. An interrupt fires after completing some descriptors.
  3. xilinx_dma_complete_descriptor() moves completed descriptors to

done_list.

  1. Channel is marked idle and start_transfer() is called even though

active_list still contains unprocessed descriptors.

  1. This leads to premature transfer attempts and potential descriptor

corruption or missed completions.

Only mark the channel as idle and start new transfers when the active list is actually empty, ensuring proper channel state management and avoiding spurious transfer attempts.

Executive ViewAI

Why It Matters

A high-severity race condition in the Linux kernel's xilinx_dma driver can cause availability disruptions and data integrity issues on Xilinx Zynq, ZynqMP, and Versal FPGA SoC platforms. Organizations using these embedded platforms in industrial, medical, aerospace, or field deployments should care because a local user with basic privileges could trigger system instability, missed transfers, or descriptor corruption, potentially leading to unplanned downtime or data loss. No public exploit identified at time of analysis, and patch available per vendor advisory.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
Xilinx AXI DMA/MCDMA driver, only on Zynq/ZynqMP/Versal FPGA SoCs
Data Quality
3 sources
Confidence: Low

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.2%
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected

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