Een Linux-programma zonder privileges kan een hardware-interrupt zo timen dat hij in de kloof belandt tussen een processor die zijn branch-voorspeller opschoont en de kernel die deze gebruikt, waardoor de voorspeller opnieuw wordt vergiftigd nadat de verdediging is uitgevoerd.
MIT CSAIL-onderzoekers Daniël Trujillo En Mengjia Yan noemde de techniek ONDERBREKEN DE INJECTIE. Op een AMD Zen 2-machine met Linux 6.14 met alle standaard Spectre v2-beperkingen aan, lekte hun exploit willekeurig kernelgeheugen met een snelheid van 5,47 bytes per seconde met een nauwkeurigheid van 91,97%, genoeg om /etc/shadow, dat de wachtwoord-hashes van het systeem opslaat, in vijf van de tien pogingen te lokaliseren en te lezen.
Het heeft geen privileges nodig, alleen uitvoering van lokale code, dus het risico zit op gedeelde systemen waarop een getroffen processor draait.
Het paar maakte dit op 5 februari bekend aan AMD en Intel. AMD vertelde hen dat het een kernelpatch plant; MIT zegt dat er sindsdien een is verzonden en arriveert in een normale besturingssysteemupdate.
Er zit een oplossing in de Linux-kernel. De commit, “x86/bugs: Make Safe-RET robuust tegen interrupt-injectie”, dateert van 2 juni en is geschreven door Borislav Petkov en mede ontwikkeld met David Kaplan, beide AMD-ingenieurs. Het beschrijft de aanval in dezelfde termen als de onderzoekers: het injecteren van interrupts terwijl Safe-RET wordt uitgevoerd “kan de veilige retourreeks neutraliseren, wat mogelijk kan leiden tot gegevenslekken door speculatieve uitvoering.”
De patch repareert de registerstatus alsof de Safe-RET-reeks is voltooid, en vermijdt het uitvoeren van een RET-instructie nadat de interrupt terugkeert. Dat is een van de twee routes die het artikel voorstelt.
AMD publiceerde op 6 augustus een bulletin, AMD-SB-7061, getiteld “Safe RET Interrupt Vulnerability”, waarin Zen 1 tot en met Zen 4-processors werden genoemd als getroffen. De samenvatting zegt dat een aanvaller die code uitvoert op een getroffen systeem “op een bepaald moment een interrupt kan injecteren om Safe RET te verstoren”, wat “die bescherming mogelijk zou kunnen verzwakken en kan resulteren in het vrijgeven van informatie.” AMD voegt eraan toe dat het probleem “geassocieerd lijkt te zijn met de Linux-implementatie van de Safe RET-beperking.”
Het bulletin vermeldt Trujillo en zegt dat het gedrag werd gedemonstreerd op Zen 1 en Zen 2, waarbij Zen 3 en Zen 4 werden gesuggereerd maar niet werden gedemonstreerd. Het artikel rapporteert AMD-tests alleen op Zen 2 en Zen 4. In het gedeelte met de titel ‘Betrokken producten en oplossingen’ worden de processors vermeld en niets anders: geen patchreferentie, geen kernelversie en geen CVE.
Volgens het artikel dat de onderzoekers deelden met The Hacker News, acht Intel een mitigatie niet nodig.
Noch het AMD-bulletin, noch de aankondiging van MIT wijst op de kernelcommit. Zonder een CVE of een benoemde kernelrelease moet een beheerder het commit-onderwerp kennen om te controleren of een bepaalde machine de oplossing draagt.
De kernel rapporteert de SRSO-status op /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow, en de documentatie die de waarden van dat bestand definieert, maakte geen melding van interrupts toen The Hacker News het op 6 augustus controleerde.
The Hacker News heeft contact opgenomen met AMD, Intel en Arm voor commentaar en zal dit verhaal bijwerken met eventuele reacties.
Elk van deze verdedigingsmechanismen zuivert of isoleert de status van de vertakkingsvoorspeller, zodat de eerdere training van een aanvaller een kernelvertakking niet kan sturen. Intel doet dit bij het binnenkomen van de kernel, met eIBRS en, afhankelijk van de processor, een buffer-wislus voor de vertakkingsgeschiedenis of de BHI_DIS_S-besturing. AMD doet het onmiddellijk voordat elke kernel terugkeert, met saferet.
Ze gaan er allemaal van uit dat er niets vijandigs tussen zit. Trujillo en Yan noemen de klasse TONTOU, van Time-of-Neutralization to Time-of-Use, nadat de TOCTOU-races bekend zijn uit software. Interrupts doorbreken deze veronderstelling, omdat ze bijna overal vuren en Linux elke gebruiker in staat stelt ze te plannen met granulariteit van nanoseconden.
Als interruptafhandeling kan worden uitgevoerd tussen neutralisatie en gebruik, maakt het interrupt-return-pad deel uit van de Spectre v2-verdediging, zelfs als de beperking is ontworpen rond het binnenkomen of retourneren van de kernel.
Op Zen 2 bestaat dat venster uit twee instructies, zes bytes. De onderzoekers vergrootten hun kansen door die bytes uit de L1- en L2-cache te verwijderen met behulp van een hyperthread, ze te vertragen en door de write syscall te kiezen, waardoor ze twee registers konden controleren.
Interrupts kwamen 5% tot 12% van de tijd binnen het venster terecht, en ongeveer 2% met die registers onder controle van de aanvaller. Eenmaal binnen werd de handler zelf het trainingsgadget, bewapend met Inception (CVE-2023-20569) om de return stack-buffer te vullen met een door de aanvaller gekozen doelwit. Het begin is dat de AMD-fout uit 2023 moet worden gestopt.
Op drie van de vier geteste machines kwamen misvoorspellingen voor in de kernelcode, met succespercentages van 0,75% op Zen 2, 0,22% op Intel Arrow Lake en 0,037% op Cascade Lake Refresh. Zen 4 produceerde er geen in die test, en er werd geen end-to-end-lek aangetoond bij Intel, waar de aanvaller ook een bruikbaar onthullingsgadget nodig zou hebben dat al in de kernel zat.
De onderzoekers beschouwen dat niet als een barrière. Verkeerde voorspellingen zijn “een noodzakelijke maar niet voldoende voorwaarde voor een Spectre-aanval”, vertelden ze aan The Hacker News, en omdat eerder onderzoek al heeft aangetoond dat er onthullingsgadgets in kernels bestaan, “geloven we dat een end-to-end aanval ook op Intel mogelijk is door onze Interrupt Injection-primitief met dit werk te combineren.”
Intel betaalde een discretionaire bugbounty-bonus, maar volgens de krant “beschouwt Intel mitigatie niet als vereist”, omdat de exploiteerbaarheid “van veel factoren afhangt” en dat de techniek onder de bestaande richtlijnen valt. The Hacker News heeft die richtlijn, INTEL-SA-00598, in de huidige versie, voor het laatst bijgewerkt in mei 2025, beoordeeld en vond nergens daarin melding van interrupts.
Het tweetal presenteerde het werk vandaag bij Black Hat USA, en de paper wordt volgende week verwacht bij USENIX Security in Baltimore. Vanaf 6 augustus was de daarin genoemde artefactrepository nog niet openbaar.