Spectre v2, ook bekend als Branch Target Injection, maakt misbruik van verkeerde voorspellingen door de processor. De processor voert instructies dan speculatief uit voordat zeker is welke vertakking werkelijk wordt genomen. Hoewel die speculatieve resultaten niet rechtstreeks zichtbaar horen te zijn, kunnen ze via subtiele timingverschillen toch informatie prijsgeven.
Maatregelen als eIBRS en Safe RET proberen de toestand van de branch predictor op belangrijke momenten te neutraliseren of af te schermen, bijvoorbeeld wanneer de processor van gebruikersruimte naar kernelruimte schakelt . De onderliggende aanname was dat een aanvaller de predictor niet opnieuw kon beïnvloeden nadat de opschoning had plaatsgevonden en voordat de kernel hem gebruikte.
TONTOU laat zien dat die aanname niet klopt. Bij AMD Safe RET is het kwetsbare venster volgens de onderzoekers slechts twee instructies breed . Een aanvaller die al code zonder verhoogde rechten op het systeem kan uitvoeren, kan een hardware-interrupt precies in dat venster laten vallen. Die techniek heet INTERRUPT INJECTION. De branch predictor wordt daarmee opnieuw ‘vergiftigd’ nadat de beveiliging al heeft ingegrepen, maar voordat de kernel de predictorstatus gebruikt .
Zo kan speculatieve uitvoering opnieuw worden ingezet voor een side-channel-aanval, ondanks dat de standaard Spectre v2-bescherming actief is. Voor de aanval zijn geen beheerdersrechten nodig; toegang tot het uitvoeren van code in de gebruikersruimte volstaat .
De onderzoekers bouwden een volledige end-to-end-exploit en testten die op meerdere processorgeneraties:
De meest concrete resultaten kwamen van een AMD Zen 2-systeem met Linux 6.14.0-37-generic, 16 GB werkgeheugen en de standaard Spectre v2-maatregelen ingeschakeld. Daar kon de exploit willekeurig kernelgeheugen uitlezen met een snelheid van 5,47 bytes per seconde . De uitgelezen gegevens hadden een nauwkeurigheid van 91,97 procent .
Dat was genoeg om het bestand /etc/shadow te lokaliseren en uit te lezen. Dit bestand bevat de wachtwoordhashes van Linux-gebruikers. De onderzoekers slaagden daarin bij vijf van tien pogingen; elke poging duurde ongeveer 18 minuten . Het gaat daarmee om een bewezen onderzoeksdemonstratie, niet om een melding dat willekeurige Linux-systemen op afstand automatisch kunnen worden overgenomen.
Op Intel-processors toonden de onderzoekers een gedeeltelijke omzeiling van eIBRS aan op Cascade Lake Refresh en Arrow Lake. De precieze aanvalsmogelijkheden verschillen daar van het Safe RET-scenario op AMD. Met dezelfde methode konden zij op AMD Zen 4 geen succesvolle branch-misdirection bevestigen .
De onderzoekers namen op 5 februari 2026 contact op met AMD, Intel en Arm voor een gecoördineerde melding . Daarna volgden snel maatregelen voor de Linux-implementatie:
AMD stelde dat het probleem vooral verband houdt met de Linux-implementatie van Safe RET als maatregel tegen Speculative Return Stack Overflow (SRSO), en niet uitsluitend met de processorarchitectuur zelf .
Intel erkende de bevindingen tijdens het gecoördineerde meldingstraject en kende de onderzoekers een beloning toe via het bug bountyprogramma. Het bedrijf liet echter weten geen aanvullende maatregelen te zullen ontwikkelen. Volgens Intel zijn voor misbruik in de praktijk onder meer specifieke disclosure gadgets nodig, waardoor de omstandigheden voor een echte aanval beperkter zijn .
Eerdere Spectre-aanvallen richtten zich vooral op de voorspellingsmechanismen van de processor. TONTOU richt zich op de verdediging tegen die aanvallen. De onderzoekers tonen aan dat het niet voldoende is om de branch predictor te neutraliseren als die neutralisatie en het daaropvolgende gebruik niet als één ondeelbare handeling kunnen worden behandeld.
De vergelijking met een race condition in software ligt voor de hand: het systeem maakt de predictor schoon, maar gebruikt hem pas een fractie later. In die tussenruimte kan een aanvaller opnieuw invloed uitoefenen. Juist omdat die ruimte zo klein is, is de timing moeilijk — maar de demonstratie laat zien dat ze niet onmogelijk te benutten is.
De Linux-patch sluit het specifieke interruptvenster op AMD Zen-systemen af. De bredere les voor CPU-beveiliging blijft echter overeind: beveiligingsmaatregelen op processorniveau zijn alleen betrouwbaar als ook de overgang tussen het neutraliseren van geheugentoestanden en het daadwerkelijke gebruik ervan veilig is afgedekt.