Reptar-kwetsbaarheid die Intel-processors treft

Tavis Ormandy, een beveiligingsonderzoeker bij Google, heeft een nieuwe kwetsbaarheid (CVE-2023-23583) in Intel-processors geïdentificeerd, met de codenaam Reptar, die vooral een bedreiging vormt voor cloudsystemen waarop virtuele machines van verschillende gebruikers draaien. Door het beveiligingslek kan het systeem vastlopen of crashen wanneer bepaalde bewerkingen worden uitgevoerd op gastsystemen zonder privileges. Om uw systemen te testen, is er een hulpprogramma gepubliceerd dat voorwaarden schept voor de manifestatie van kwetsbaarheden.

Theoretisch kan de kwetsbaarheid worden gebruikt om privileges te escaleren van de derde naar de nulbeschermingsring (CPL0) en te ontsnappen uit geïsoleerde omgevingen, maar dit scenario is in de praktijk nog niet bevestigd vanwege de moeilijkheden bij het debuggen op microarchitectonisch niveau. Uit een intern onderzoek bij Intel bleek ook dat er potentieel voor misbruik van de kwetsbaarheid bestaat om onder bepaalde omstandigheden privileges te escaleren.

Volgens de onderzoeker is de kwetsbaarheid aanwezig in de processorfamilies Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake en Sapphire Rapids. Het Intel-rapport vermeldt dat het probleem zich voordoet vanaf de 10e generatie (Ice Lake) Intel Core-processors en de derde generatie Xeon Scalable-processors, evenals bij Xeon E/D/W-processors (Ice Lake, Skylake, Haswell, Broadwell , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) en Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake en Denverton). De betreffende kwetsbaarheid is opgelost in de microcode-update 20231114 van gisteren.

De kwetsbaarheid wordt veroorzaakt door het feit dat onder bepaalde microarchitecturale omstandigheden de uitvoering van de “REP MOVSB”-instructie wordt gecodeerd met een excessief “REX”-voorvoegsel, wat leidt tot ongedefinieerd gedrag. Het probleem werd ontdekt tijdens het testen van redundante prefixen, die in theorie genegeerd zouden moeten worden, maar in de praktijk tot vreemde effecten leidden, zoals het negeren van onvoorwaardelijke vertakkingen en het opslaan van breakpointers in de xsave- en call-instructies. Verdere analyse toonde aan dat het toevoegen van een redundant voorvoegsel aan de "REP MOVSB"-instructie corruptie veroorzaakt van de inhoud van de ROB-buffer (ReOrder Buffer) die wordt gebruikt om instructies te bestellen.

Er wordt aangenomen dat de fout wordt veroorzaakt door een onjuiste berekening van de grootte van de "MOVSB" -instructie, wat leidt tot de schending van de adressering van instructies die naar de ROB-buffer zijn geschreven na de MOVSB ​​met een buitensporig voorvoegsel, en de offset van de instructiewijzer. Een dergelijke desynchronisatie kan worden beperkt tot verstoring van tussentijdse berekeningen met daaropvolgend herstel van de integrale toestand. Maar als je meerdere cores of SMT-threads tegelijkertijd laat crashen, kun je de microarchitecturale staat voldoende beschadigen om te crashen.

Bron: opennet.ru

Voeg een reactie