GPUThor Attack Bypasses ECC to Achieve Root Access on NVIDIA GPUs
NVIDIA graphics cards employ specialized error-correcting memory capable of detecting and repairing random data corruption on its own. A new attack called GPUThor has demonstrated that even this protection can be circumvented, leading to memory corruption, GPU failure, and privilege escalation all the way up to root.
Tested Across Multiple Ampere-Generation GPUs
Researchers at the University of Toronto tested GPUThor against Ampere-generation graphics cards equipped with GDDR6 memory, including the RTX A4000, RTX A4500, RTX A5000, and RTX A6000. The attack belongs to the Rowhammer class of exploits – a technique that repeatedly accesses specific regions of memory until bits in neighboring cells begin spontaneously flipping their values.
Bypassing ECC and Target Row Refresh
Such corruption is typically guarded against by ECC, or Error-Correcting Code, a mechanism designed to detect and repair memory errors. GPUThor manages to bypass an additional layer of protection called Target Row Refresh, which is supposed to refresh memory rows whenever they receive suspiciously frequent access. To achieve this, the researchers restructured the sequence of memory requests and accounted for specific characteristics of how the GPU’s memory controller operates.
Dramatically Faster Than Previous Techniques
This new technique proved substantially more effective than earlier variants. With error correction disabled, researchers observed between 72,000 and 377,000 bit flips per gigabyte of memory. A fault suitable for further exploitation could be located in roughly 1.1 minutes. By comparison, the previous GPUHammer technique required approximately 21.9 hours to accomplish the same task.
Errors Detected but Uncorrectable Even With ECC Enabled
With error correction enabled, GPUThor triggered 387 double-bit faults, which the protection mechanism detected but could not correct, along with two triple-bit errors involving incorrect data recovery. On the RTX A6000, researchers separately demonstrated a denial-of-service condition, in which the graphics card repeatedly rebooted and terminated all running tasks.
Escalating to Root Access via Corrupted Page Tables
A more dangerous test targeted the GPU’s page tables, which determine which memory regions a given program is permitted to access. Once these tables were corrupted, an unprivileged program running on the CUDA platform gained arbitrary memory access and successfully opened a root shell on the host system. The researchers believe a similar scenario is plausible on NVIDIA’s server-grade A100 accelerators as well.
NVIDIA’s Response and Mitigation Guidance
NVIDIA received the GPUThor findings on April 29 and published its recommendations on August 21. The company advises enabling memory error correction along with hardware-based direct memory access isolation, monitoring for GPU errors, and restricting the execution of untrusted workloads. The researchers additionally recommend, where possible, avoiding the practice of sharing a single GPU across different tenants within cloud infrastructure.
Support Our Threat Intelligence
If you find our technology report and cybersecurity news helpful, consider supporting our work.