Reptari haavatavus, mis mõjutab Inteli protsessoreid

Google'i turvateadlane Tavis Ormandy tuvastas Inteli protsessorites uue haavatavuse (CVE-2023-23583), koodnimega Reptar, mis ohustab peamiselt erinevate kasutajate virtuaalmasinaid töötavaid pilvesüsteeme. Haavatavus võimaldab süsteemil hanguda või krahhi, kui privilegeerimata külalissüsteemides tehakse teatud toiminguid. Teie süsteemide testimiseks on avaldatud utiliit, mis loob tingimused haavatavuste ilmnemiseks.

Teoreetiliselt saab haavatavust kasutada privileegide suurendamiseks kolmandalt nullkaitserõngasse (CPL0) ja isoleeritud keskkondadest põgenemiseks, kuid see stsenaarium pole veel praktikas kinnitust leidnud, kuna mikroarhitektuuri tasandil on silumine raskusi. Inteli sisemine ülevaade näitas ka haavatavuse ärakasutamise võimalust teatud tingimustel õiguste suurendamiseks.

Uurija sõnul on haavatavus Intel Ice Lake'i, Rocket Lake'i, Tiger Lake'i, Raptor Lake'i, Alder Lake'i ja Sapphire Rapidsi protsessoriperedes. Inteli aruandes mainitakse, et probleem ilmneb alates Intel Core protsessorite 10. põlvkonnast (Ice Lake) ja kolmanda põlvkonna Xeon Scalable protsessoritest, samuti Xeoni E/D/W protsessoritest (Ice Lake, Skylake, Haswell, Broadwell , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) ja Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake ja Denverton). Kõnealune haavatavus parandati eilses mikrokoodi värskenduses 20231114.

Haavatavuse põhjustab asjaolu, et teatud mikroarhitektuurilistel asjaoludel on käsu “REP MOVSB” täitmine kodeeritud liigse “REX” prefiksiga, mis viib määratlemata käitumiseni. Probleem avastati üleliigsete eesliidete testimisel, mida teoreetiliselt tuleks ignoreerida, kuid praktikas põhjustas kummalisi efekte, nagu tingimusteta harude ignoreerimine ja kursori salvestamise katkestamine xsave ja call juhistes. Täiendav analüüs näitas, et üleliigse eesliite lisamine käsule "REP MOVSB" põhjustab käskude tellimiseks kasutatava puhvri ROB (ReOrder Buffer) sisu rikkumist.

Arvatakse, et vea põhjuseks on käsu "MOVSB" suuruse vale arvutamine, mis põhjustab pärast MOVSB-d ROB-puhvrisse kirjutatud juhiste adresseerimise rikkumist liigse eesliitega ja nihkega. juhiste kursorist. Selline desünkroniseerimine võib piirduda vahepealsete arvutuste katkestamisega koos järgneva tervikliku oleku taastamisega. Kui aga krahhite korraga mitu südamikku või SMT-lõime, võite mikroarhitektuuri olekut krahhiks piisavalt kahjustada.

Allikas: opennet.ru

Lisa kommentaar