Reptar ranjivost koja utječe na Intelove procesore

Tavis Ormandy, sigurnosni istraživač u Googleu, identificirao je novu ranjivost (CVE-2023-23583) u Intelovim procesorima kodnog naziva Reptar, koja uglavnom predstavlja prijetnju za cloud sustave koji pokreću virtualne strojeve različitih korisnika. Ranjivost omogućuje sustavu da visi ili se sruši kada se određene operacije izvode na neprivilegiranim gostujućim sustavima. Za testiranje vaših sustava objavljen je uslužni program koji stvara uvjete za ispoljavanje ranjivosti.

Teoretski, ranjivost se može koristiti za eskalaciju privilegija s trećeg na nulti zaštitni prsten (CPL0) i bijeg iz izoliranih okruženja, ali ovaj scenarij još nije potvrđen u praksi zbog poteškoća s otklanjanjem pogrešaka na mikroarhitektonskoj razini. Interni pregled u Intelu također je pokazao potencijal za iskorištavanje ranjivosti za eskalaciju privilegija pod određenim uvjetima.

Prema istraživaču, ranjivost je prisutna u obiteljima procesora Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake i Sapphire Rapids. Intelov izvještaj navodi da se problem pojavljuje počevši od 10. generacije (Ice Lake) Intel Core procesora i treće generacije Xeon Scalable procesora, kao i kod Xeon E/D/W procesora (Ice Lake, Skylake, Haswell, Broadwell). , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) i Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake i Denverton). Dotična ranjivost popravljena je u jučerašnjem ažuriranju mikrokoda 20231114.

Ranjivost je uzrokovana činjenicom da je pod određenim mikroarhitektonskim okolnostima izvršenje instrukcije "REP MOVSB" kodirano prekomjernim prefiksom "REX", što dovodi do nedefiniranog ponašanja. Problem je otkriven tijekom testiranja redundantnih prefiksa, koji bi se u teoriji trebali ignorirati, ali u praksi je doveo do čudnih učinaka, poput ignoriranja bezuvjetnih grananja i prekidanja spremanja pokazivača u uputama xsave i call. Daljnja analiza je pokazala da dodavanje suvišnog prefiksa instrukciji "REP MOVSB" uzrokuje oštećenje sadržaja međuspremnika ROB (ReOrder Buffer) koji se koristi za naručivanje instrukcija.

Vjeruje se da je pogreška uzrokovana netočnim izračunom veličine "MOVSB" instrukcije, što dovodi do kršenja adresiranja instrukcija napisanih u ROB međuspremniku nakon MOVSB ​​​​s prekomjernim prefiksom i pomakom pokazivača instrukcija. Takva desinkronizacija može se ograničiti na prekid međuizračunavanja s naknadnim vraćanjem integralnog stanja. Ali ako srušite više jezgri ili SMT niti u isto vrijeme, možete oštetiti mikroarhitektonsko stanje dovoljno da se sruši.

Izvor: opennet.ru

Dodajte komentar