Training Solo: een Spectre-v2-kwetsbaarheid die Intel-CPU's treft

kwetsbaarheid

Onderzoekers van de Vrije Universiteit Amsterdam bekend gemaakt, via een blogpost, om "Training Solo, een nieuwe familie van Spectre-v2-aanvallen die misbruik maken van fouten in speculatieve voorspellingen om de beveiligingsgrenzen tussen geprivilegieerde en niet-geprivilegieerde uitvoeringsruimtes te doorbreken, met directe gevolgen voor Intel CPU's.

De nieuwe technieken toestaan ​​dat gevoelige inhoud uit de kernel wordt gehaald of de hypervisor met snelheden tot 17 KB per seconde, zelfs op systemen die moderne mitigatiemaatregelen zoals IBPB, eIBRS of BHI_NO implementeren.

Training Solo, het nieuwe gezicht van Spectre-v2 duikt met kracht weer op

Sinds de ontdekking is Spectre-v2 een van de moeilijkste soorten kwetsbaarheden om te beperken vanwege het speculatieve karakter ervan en "'Solo trainen', er wordt opnieuw een cruciaal probleem geïntroduceerd, omdat er geen door een aanvaller gecontroleerde code nodig is om de vertakkingsvoorspeller te beïnvloeden, maar er in plaats daarvan gebruik wordt gemaakt van bestaande codefragmenten (gadgets) in de kernel of hypervisor om de voorspeller vanuit de gebruikersruimte te trainen.

Uit ons werk blijkt dat aanvallers speculatief de controlestromen binnen hetzelfde domein (bijvoorbeeld de kernel) kunnen kapen en geheimen kunnen lekken over privilegegrenzen heen, waardoor klassieke Spectre-v2-scenario's weer tot leven komen zonder dat ze afhankelijk zijn van krachtige sandboxes zoals eBPF. We hebben een nieuwe testset gemaakt om de vertakkingsvoorspeller te analyseren in een zelflerend scenario.

De onderzoekers hebben aangetoond dat door het manipuleren van deze gadgets (bijvoorbeeld door gebruik te maken van op cBPF gebaseerde SECCOMP-filters) speculatieve uitvoering kan worden geïnduceerd die gegevens uit het bevoorrechte systeem lekt.

Door middel van deze techniek, genaamd ‘individuele training’, de geschiedenis van de voorspeller kan worden gewijzigd van vorken zodat er onjuiste sprongen optreden tijdens speculatieve uitvoering, met als doel geheugeninhoud te laten lekken via bijwerkingen in de cache.

De Training Solo-aanvallen zijn er in drie varianten, waarbij ze elk gebruik maken van verschillende zwakheden:

  1.  Manipuleren van branchgeschiedenis met kernelgadgets:Maakt gebruik van systeemaanroepen zoals SECCOMP, waarbij filters valse speculatieve vertakkingen kunnen veroorzaken, waardoor geheugen met een snelheid van 1,7 KB/s lekt op Intel Tiger Lake en Lion Cove CPU's.
  2.  Instructiepointer (IP)-botsingen in de vertakkingsvoorspellingsbuffer (BTB): Hierbij kunnen twee verschillende indirecte vertakkingen elkaar beïnvloeden als hun adressen in de buffer botsen, waardoor speculatieve bestemmingen verkeerd kunnen worden voorspeld.
  3.  Invloeden tussen directe en indirecte takken: Deze techniek, gebaseerd op twee specifieke kwetsbaarheden (CVE-2024-28956 (ITS) en CVE-2025-24495), maakt gebruik van de manier waarop directe vertakkingen de voorspelling van indirecte vertakkingen kunnen beïnvloeden. Met deze aanpak werd de root-wachtwoordhash na het uitvoeren van passwd -s in slechts 60 seconden hersteld.

Onze werkzaamheden richten zich op het doorbreken van domeinisolatie door middel van zelflerende aanvallen. De hardwareproblemen die we in onze testset aantroffen, hebben echter ook invloed op de implementatie van isolatie, omdat we ervan uitgingen dat directe branches niet zouden worden gebruikt voor het trainen van indirecte branches. 

Impact en omvang van nieuwe kwetsbaarheden

De aanvallen beïnvloeden een breed scala aan Intel CPU's, waaronder populaire lijnen als Coffee Lake, Tiger Lake, Ice Lake en Rocket Lake, maar ook Xeon-servers van de 2e en 3e generatie. Bovendien zijn de architecturen Lunar Lake en Arrow Lake ook kwetsbaar onder CVE-2025-24495.

Om deze aanvallen te verzachten, Intel heeft een microcode-update uitgebracht waarmee een nieuwe instructie wordt geïntroduceerd: IBHF (Indirect Branch History Fence), die is ontworpen om besmetting van de branchgeschiedenis te voorkomen. Deze wijziging moet expliciet worden geïmplementeerd na elke code die van invloed is op de vertakkingsvoorspeller. Voor oudere CPU's wordt aanbevolen om softwareoplossingen te gebruiken die de geschiedenis handmatig wissen.

De kernelontwikkelaars van hun kant Linux is al begonnen met het integreren van patches om deze technieken tegen te gaan, inclusief maatregelen om indirecte sprongen uit gevoelige cachegebieden te verplaatsen en bescherming tegen cBPF.

AMD heeft op zijn beurt bevestigd dat Deze technieken hebben geen invloed op uw processors. ARM gaf aan dat alleen de oudere chips, zonder ondersteuning voor de extensies FEAT_CSV2_3 en FEAT_CLRBHB, kwetsbaar zouden zijn.

Tot slot, als u er meer over wilt weten, kunt u de details raadplegen In de volgende link.