Ranljivost Reptar, ki vpliva na procesorje Intel

Varnostni raziskovalec pri Googlu Tavis Ormandy je v Intelovih procesorjih odkril novo ranljivost (CVE-2023-23583) z kodnim imenom Reptar, ki predstavlja grožnjo predvsem za oblačne sisteme, v katerih se izvajajo virtualni stroji, ki pripadajo različnim uporabnikom. Ranljivost lahko povzroči zastoj ali sesutje sistema pri izvajanju določenih operacij v neprivilegiranih gostujočih sistemih. Za namene testiranja je bil objavljen pripomoček, ki ustvarja pogoje za izkoriščanje.

Teoretično bi se ranljivost lahko izkoristila za eskalacijo privilegijev iz obroča 3 v obroč 0 (CPL0) in pobeg iz izoliranih okolij, vendar ta scenarij v praksi še ni bil potrjen zaradi težav pri odpravljanju napak na mikroarhitekturni ravni. Interno testiranje pri Intelu je prav tako pokazalo potencial za izkoriščanje ranljivosti za eskalacijo privilegijev pod določenimi pogoji.

Po navedbah raziskovalca ranljivost vpliva na družine Intelovih procesorjev Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake in Sapphire Rapids. Intelovo poročilo navaja, da težava vpliva na procesorje Intel Core 10. generacije (Ice Lake) in procesorje Xeon Scalable tretje generacije, pa tudi na procesorje Xeon E/D/W (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) in procesorje Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake in Denverton). Ranljivost je bila odpravljena v včerajšnji posodobitvi mikrokode 20231114.

Ranljivost povzroča določen mikroarhitekturni pogoj, kjer je izvajanje ukaza »REP MOVSB« kodirano z redundantno predpono »REX«, kar vodi do nedefiniranega vedenja. Težava je bila odkrita med testiranjem redundantnih predpon, ki bi jih teoretično morali prezreti, vendar so v praksi povzročile nenavadne učinke, kot sta prezrtje brezpogojnih skokov in motenje shranjevanja kazalca v ukazih xsave in call. Nadaljnja analiza je pokazala, da dodajanje redundantne predpone ukazu »REP MOVSB« poškoduje vsebino ROB (ReOrder Buffer), ki se uporablja za urejanje ukazov.

Domneva se, da je napaka posledica napačnega izračuna velikosti ukaza MOVSB, kar povzroči motnje pri naslavljanju ukazov, zapisanih v medpomnilnik ROB po ukazu MOVSB ​​s preveliko predpono, in napačno poravnavo kazalca ukaza. Ta desinhronizacija je lahko omejena na motnje v vmesnih izračunih s poznejšo obnovitvijo skladnega stanja. Če pa se sesutje sproži hkrati na več jedrih ali nitih SMT, lahko povzroči zadostno mikroarhitekturno poškodbo, ki povzroči sesutje.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster