New Interrupt Injection Attack Bypasses Spectre v2 Defenses on Intel and AMD CPUs

Researchers from MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) have unveiled a novel attack technique, termed INTERRUPT INJECTION, capable of circumventing existing Spectre v2 mitigations on both Intel and AMD processors. This method exploits precise timing of hardware interrupts to manipulate the branch predictor, a critical component in speculative execution.

Speculative execution is a performance-enhancing feature in modern CPUs, allowing processors to predict and execute instructions ahead of time. However, vulnerabilities like Spectre have demonstrated that this can lead to unauthorized data access. To counter such threats, manufacturers implemented defenses that sanitize the branch predictor during specific CPU operations.

The INTERRUPT INJECTION attack targets the brief interval between the sanitization of the branch predictor and its subsequent use by the kernel. By timing a hardware interrupt to occur precisely within this window, an unprivileged Linux program can re-poison the branch predictor, effectively nullifying the intended defense mechanisms.

In practical demonstrations, the researchers achieved data leakage rates of 5.47 bytes per second with a 91.97% accuracy on an AMD Zen 2 processor running Linux 6.14, even with all default Spectre v2 mitigations active. This rate is sufficient to extract sensitive information, such as password hashes stored in the /etc/shadow file, within a reasonable timeframe.

Notably, this attack does not require elevated privileges, making it particularly concerning for shared computing environments where multiple users operate on the same hardware. The ability to execute code locally is the primary prerequisite, highlighting the risk to multi-tenant systems.

The researchers disclosed their findings to AMD and Intel on February 5. AMD acknowledged the vulnerability, referring to it as “Safe RET Interrupt Vulnerability” in their bulletin AMD-SB-7061, and indicated plans for a kernel patch. MIT reports that such a patch has been released and should be included in standard operating system updates. However, the bulletin lacks specific details such as patch versions, kernel commits, or CVE identifiers, making it challenging for administrators to verify if their systems are protected.

Intel, on the other hand, has stated that they do not consider a mitigation necessary for this issue. This stance suggests a divergence in how different manufacturers assess and respond to speculative execution vulnerabilities.

The core of this vulnerability lies in the assumption that no hostile code executes between the neutralization and use of the branch predictor. INTERRUPT INJECTION exploits this assumption by leveraging the unpredictable nature of hardware interrupts, which can occur almost anywhere and can be scheduled with nanosecond precision in Linux environments.

For system administrators and security professionals, this development underscores the importance of staying vigilant about emerging threats that exploit hardware-level vulnerabilities. While software patches can mitigate some risks, the fundamental design of speculative execution and branch prediction continues to present challenges. Monitoring for updates from hardware manufacturers and applying patches promptly is crucial. Additionally, considering hardware configurations and usage policies that minimize the risk of local code execution by untrusted users can further enhance security.