CVE-2024-40986: dmaengine: xilinx: xdma: Fix data synchronisation in xdma_channel_isr()
In the Linux kernel, the following vulnerability has been resolved:
dmaengine: xilinx: xdma: Fix data synchronisation in xdma_channel_isr()
Requests the vchan lock before using xdma->stop_request.
Security readout for executives and security teams
Plain-English summary
A synchronization error in Linux’s Xilinx XDMA driver could let a local, low-privileged user compromise confidentiality, integrity, or availability on an affected system. Exposure appears limited to machines using the relevant driver. The supplied sources do not establish active exploitation.
Executive priority
Treat this as a targeted high-priority kernel update for systems using Xilinx XDMA, especially multi-user or locally accessible hosts. It does not justify fleet-wide emergency action without confirming driver exposure. No active exploitation is established by the supplied evidence.
Technical view
The XDMA interrupt handler used xdma->stop_request without first acquiring the virtual-channel lock. The cited kernel changes add locking to synchronize access. CVSS 3.1 rates the issue 7.8: local access, low privileges, low complexity, no user interaction, and potentially high impact across confidentiality, integrity, and availability.
Likely exposure
Potential exposure is limited to Linux systems running an affected kernel and using the Xilinx XDMA dmaengine driver. Ordinary Linux systems without this driver are unlikely to reach the vulnerable path. The bundle’s flattened version data is ambiguous, so confirm exposure using kernel commits and distribution advisories rather than version strings alone.
Exploitation context
CISA KEV status is false, and the supplied sources provide no evidence of active exploitation or a public exploit. The CVSS vector describes a local, low-privileged attack requiring no user interaction. The sources do not explain the practical exploitation conditions or demonstrate the scored impacts.
Researcher notes
This is a locking correction in xdma_channel_isr(), specifically acquiring the virtual-channel lock before accessing stop_request. No CWE is supplied. Two stable-kernel commits are cited, suggesting branch-specific fixes. Exact affected-version interpretation is uncertain because the provided version list lacks normalized range semantics; inspect commit ancestry or distribution backports.
Mitigation direction
Update to a vendor-supported kernel containing the applicable cited synchronization fix.
Check Linux distribution advisories for branch-specific package versions and backported fixes.
Prioritize systems where the Xilinx XDMA driver is loaded and accessible to untrusted local users.
Restrict unnecessary local access while affected systems await an approved kernel update.
Validation and detection
Inventory kernel versions and determine whether the Xilinx XDMA driver is present or loaded.
Compare kernel source or package metadata with fixes 8e1f54e4a3f3 and 462237d2d93f.
Confirm applicable distribution packages include the fix despite possible version-number differences.
After updating, verify the intended kernel is running and reassess driver exposure.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-40986 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.