Zraniteľnosť Reptar ovplyvňujúca procesory Intel

Tavis Ormandy, bezpečnostný výskumník v spoločnosti Google, identifikoval novú zraniteľnosť (CVE-2023-23583) v procesoroch Intel s kódovým označením Reptar, ktorá predstavuje hrozbu najmä pre cloudové systémy s virtuálnymi strojmi rôznych používateľov. Zraniteľnosť umožňuje systému zamrznúť alebo zlyhať pri vykonávaní určitých operácií na neprivilegovaných hosťujúcich systémoch. Na testovanie vašich systémov bola zverejnená utilita, ktorá vytvára podmienky na prejavenie sa zraniteľností.

Teoreticky môže byť zraniteľnosť použitá na eskaláciu privilégií z tretieho na nulový ochranný kruh (CPL0) a únik z izolovaných prostredí, ale tento scenár sa zatiaľ v praxi nepotvrdil kvôli ťažkostiam s ladením na mikroarchitektonickej úrovni. Interná kontrola v spoločnosti Intel tiež ukázala potenciál zneužitia zraniteľnosti na eskaláciu privilégií za určitých podmienok.

Podľa výskumníka je zraniteľnosť prítomná v rodinách procesorov Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake a Sapphire Rapids. V správe spoločnosti Intel sa uvádza, že problém sa objavuje od 10. generácie (Ice Lake) procesorov Intel Core a tretej generácie procesorov Xeon Scalable, ako aj v procesoroch Xeon E/D/W (Ice Lake, Skylake, Haswell, Broadwell , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) a Atom (jazero Apollo, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake a Denverton). Daná chyba zabezpečenia bola opravená vo včerajšej aktualizácii mikrokódu 20231114.

Zraniteľnosť je spôsobená skutočnosťou, že za určitých mikroarchitektonických okolností je vykonanie inštrukcie „REP MOVSB“ zakódované nadmernou predponou „REX“, čo vedie k nedefinovanému správaniu. Problém bol objavený pri testovaní redundantných prefixov, ktoré by sa teoreticky mali ignorovať, ale v praxi viedli k zvláštnym efektom, ako je ignorovanie nepodmienených vetiev a prerušenie ukladania ukazovateľa v xsave a inštrukciách volania. Ďalšia analýza ukázala, že pridanie redundantnej predpony k inštrukcii „REP MOVSB“ spôsobí poškodenie obsahu vyrovnávacej pamäte ROB (ReOrder Buffer), ktorá sa používa na objednávanie inštrukcií.

Predpokladá sa, že chyba je spôsobená nesprávnym výpočtom veľkosti inštrukcie „MOVSB“, čo vedie k narušeniu adresovania pokynov zapísaných do vyrovnávacej pamäte ROB po MOVSB ​​​​s nadmernou predponou a posunu ukazovateľa inštrukcie. Takáto desynchronizácia môže byť obmedzená na prerušenie medzivýpočtov s následným obnovením integrálneho stavu. Ak však narazíte na viaceré jadrá alebo vlákna SMT súčasne, môžete poškodiť stav mikroarchitektúry natoľko, že sa zrúti.

Zdroj: opennet.ru

Pridať komentár