Researchers at ETH Zurich in Switzerland have tried to circumvent Intel’s security measures against Spectre. Spectre is a family of vulnerabilities in Intel’s processor architecture that enables data leaks.
Sandro Rüegge, Johannes Wikner, and Kaveh Razavi discovered a new class of security issues called Branch Predictor Race Conditions (BPRC). They describe it in a scientific article that they will present later this year at the USENIX Security 2025 and Black Hat USA 2025 security conferences. This was reported by The Register.
Spectre refers to hardware vulnerabilities in processors that have been known since 2018. They exploit speculative execution, whereby the processor executes certain code paths before it is certain that they are needed. This can leak sensitive data, such as passwords and encryption keys, between programs. Or even between virtual machines on the same server.
Multiple versions of Spectre
Spectre has several variants, including Spectre v2. This version allows an attacker to manipulate so-called indirect jumps to read normally protected memory, such as information from the operating system or other programs.
Intel has since taken several hardware measures to prevent these attacks, such as Indirect Branch Restricted Speculation (eIBRS) and Indirect Branch Predictor Barrier (IBPB). These techniques are designed to ensure that speculations remain within their own security domain and do not leak across boundaries.
However, the researchers discovered that the so-called branch predictors—mechanisms that predict which code path the processor will follow—are updated asynchronously within the processor. This can lead to race conditions, in which two processes try to modify the same information at the same time, which can cause unpredictable behavior.
It turns out that incorrect links can occur when switching from user mode to kernel mode while the predictions are still being updated. The researchers call this new attack vector Branch Privilege Injection (BPI). This allows unprivileged code to insert predictions that are considered kernel-level, undermines the original security goal of eIBRS.
According to Kaveh Razavi, BPI makes it possible to still carry out a classic Spectre v2 attack, despite the presence of security measures such as eIBRS. This allows data to leak across security boundaries.
Multiple attack scenarios
He indicated that multiple attack scenarios are conceivable. For example, an attacker in a cloud environment could use a virtual machine to leak data from the hypervisor, or even from other virtual machines belonging to other customers. In the proof-of-concept, however, they mainly demonstrated an attack in which a normal user process obtains information from the operating system.
With BPI, an attacker can inject predictions from user mode that are incorrectly recognized as kernel mode. The attacker can then carry out a Spectre v2 attack to gain access to sensitive data in memory.
Intel has since released a microcode update that fixes this vulnerability, designated CVE-2024-45332. Intel describes the bug as Indirect Branch Predictor Delayed Updates. According to the researchers, all Intel x86 processors from the 9th generation (Coffee Lake Refresh) onwards are vulnerable, and possibly even models from the 7th generation (Kaby Lake).
Intel thanked ETH Zurich for their research and cooperation in coordinating the disclosure. The company says it will continue to improve its hardware measures against Spectre v2 and advises users to contact their system manufacturer for updates. According to Intel, there is no evidence that this vulnerability is being actively exploited in the wild.
Performance loss after update
Intel states that performance tests show performance after the update remains within normal variation margins. However, the researchers cite specific figures. On an Alder Lake system, the microcode update is said to cause up to a 2.7 percent performance loss. Alternative software solutions ranged from a 1.6 percent loss (on Coffee Lake Refresh) to 8.3 percent (on Rocket Lake).
Although the attack was tested on Linux, other operating systems could also be vulnerable to the affected Intel processors. AMD and ARM processors do not appear susceptible to this specific attack.
Razavi indicated that we are not yet rid of Spectre-like problems. As long as processors are designed for maximum performance based on speculative execution, such vulnerabilities will remain a risk. He did note that chip manufacturers are now more aware of these risks and are more cautious with new designs. In addition, progress is being made in developing tools to detect these problems earlier, before chips are physically produced. He says there is hope for improvement, although we are not there yet.