TONTOU Attack Bypasses Spectre v2 Mitigations to Leak Linux Password Hashes
The technique exploits a time gap between when mitigations clear branch prediction state and when that state is actually used, showing that neutralization-based defenses can be re-contaminated just before a protected branch executes.
Reporting from 1 source: GIGAZINE.
MIT CSAIL researchers presented TONTOU, an attack that bypasses Spectre v2 mitigations by re-injecting attacker-controlled data into the branch predictor after it has been neutralized. The team demonstrated reading Linux kernel memory and obtaining /etc/shadow contents. Tests on Intel and AMD CPUs found the method worked on some architectures but not others.
Spectre v2 mitigations rely on clearing or isolating the branch prediction state that attackers can poison. MIT CSAIL found a gap between the moment that neutralization completes and the moment the branch predictor is actually consulted, and built an attack to fill it.
TONTOU, short for Time-of-Neutralization to Time-of-Use, works in four steps. The kernel neutralizes the branch predictor, the attacker guides the victim toward a training gadget, that gadget re-contaminates the predictor, and the tainted state is used for a protected branch that leaks secrets through a disclosure gadget. The attack uses interrupt injection, triggered by a user-level timer, to land an interrupt during kernel processing at a useful moment.
The researchers tested Intel Cascade Lake Refresh and Arrow Lake, plus AMD Zen 2 and Zen 4. They retrained some branch prediction mechanisms on Intel, and on Zen 2 they bypassed the Linux mitigation Safe RET. On Zen 4, the same method produced no confirmed misprediction.
Synthesized by Yomimono from the 1 cited source below, including Japanese-language reporting where cited, then editorially reviewed before publishing.