Published November 22, 2025 | Version v1

Dynamic Detection of Vulnerable DMA Race Conditions

  • 1. ROR icon Vrije Universiteit Amsterdam

Description

The drivers of modern operating systems use Direct Memory Access (DMA) to efficiently communicate with peripheral devices. Since the memory accessed by DMA is a shared resource between driver and device, it is a possible source of race conditions. Peripheral devices are also often untrusted, so these race conditions open up a new potential attack vector against a trusted OS kernel. In this paper, we present DMARacer, a dynamic detector called for these DMA-based race conditions in kernel code. DMARacer tracks memory accesses to DMA memory throughout the kernel's lifetime and analyses them for various indicators of race conditions. Additionally, upon detecting a race condition, DMARacer uses taint tracking to trace its impact and identify any potential vulnerabilities it may trigger, such as memory corruption or denial-of-service. We used DMARacer to search the drivers of the Linux kernel for DMA-based errors and find that DMA-based race conditions are a systemic issue in driver code. In total, DMARacer was able to detect 817 problematic memory accesses and 344 vulnerable operations in the scanned Linux kernel drivers.

Files

dmaracer_ccs25.pdf

Files (1.7 MB)

Name Size Download all
md5:778830240b545b39114d36cde9db9def
1.7 MB Preview Download

Additional details

Funding

European Commission
RESCALE - Revolutionised Enhanced Supply Chain Automation with Limited Threats Exposure 101120962
European Commission
Ghostbuster - A Principled Plan to Prevent Transient Execution Attacks 101141972