Junglewise Threat Intelligence

CVE-2024-35990: Linux Kernel Xilinx DPDMA improper locking in DMA engine

CVE-2024-35990 · Severity: medium · CVSS 5.5 · Published 2024-05-20

Technologies: Linux Kernel. Vendors: Linux.

Executive brief

A vulnerability was identified in the Linux kernel's Xilinx DisplayPort DMA driver, which manages high-speed data transfers for video displays. Due to improper internal locking, the system could experience synchronization errors during video processing. This could lead to system instability or a crash (denial of service), potentially impacting the reliability of devices using Xilinx ZynqMP hardware.

Technical details

A race condition exists in the Xilinx DPDMA (DisplayPort Direct Memory Access) driver (drivers/dma/xilinx/xilinx_dpdma.c) due to improper locking. Specifically, several functions failed to hold 'chan->lock' or 'chan->vchan.lock' when accessing shared channel structures, leading to lockdep warnings and potential data corruption or deadlocks. The vulnerability is triggered during DMA channel queue transfers and VSync interrupt handling. An attacker with local access could potentially exploit this to cause a kernel panic (DoS). The issue has been resolved by ensuring appropriate spinlocks are acquired before accessing protected channel members.

Affected products

  • Linux Linux Kernel 6.6.20+, 6.8.x, 6.1.x, 5.15.x, 5.10.x, 5.4.x

Timeline

  • 2024-03-08: disclosed: Initial patch submitted by developer
  • 2024-05-02: patched: Patch committed to stable kernel tree
  • 2024-05-20: advisory: CVE-2024-35990 published

References

Related threats