Intel prozesadoreei eragiten dien Reptar ahultasuna

Tavis Ormandy-k, Google-ko segurtasun ikertzaileak, ahultasun berri bat (CVE-2023-23583) identifikatu du Intel prozesadoreetan, Reptar izena duen kodea, eta erabiltzaile ezberdinen makina birtualak exekutatzen dituzten hodeiko sistemetan mehatxu bat da. Zaurgarritasunak sistema zintzilikatu edo huts egin dezake pribilegiorik gabeko sistema gonbidatuetan eragiketa jakin batzuk egiten direnean. Zure sistemak probatzeko, ahuleziak agertzeko baldintzak sortzen dituen utilitate bat argitaratu da.

Teorian, ahultasuna hirugarrenetik zero babes-eraztunera (CPL0) pribilegioak igotzeko eta ingurune isolatuetatik ihes egiteko erabil daiteke, baina agertoki hori oraindik ez da praktikan baieztatu mikroarkitektura mailan arazketa-zailtasunen ondorioz. Intel-en barne-berrikuspen batek baldintza jakin batzuetan pribilegioak areagotzeko ahultasuna ustiatzeko aukera ere erakutsi zuen.

Ikertzailearen arabera, ahultasuna Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake eta Sapphire Rapids prozesadore familietan dago. Intel-en txostenak aipatzen du arazoa Intel Core prozesadoreen 10. belaunalditik (Ice Lake) eta Xeon Scalable prozesadoreen hirugarren belaunalditik hasita agertzen dela, baita Xeon E/D/W prozesadoreetan ere (Ice Lake, Skylake, Haswell, Broadwell). , Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) eta Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake eta Denverton). Aipatu ahultasuna atzoko 20231114 mikrokodearen eguneratzean konpondu zen.

Zaurgarritasuna mikroarkitekturako zirkunstantzia jakin batzuetan "REP MOVSB" instrukzioaren exekuzioa gehiegizko "REX" aurrizki batekin kodetuta dagoelako eragiten du, eta horrek jokaera zehaztugabea dakar. Arazoa aurrizki erredundanteen proban aurkitu zen, teorian alde batera utzi behar direnak, baina praktikan efektu bitxiak ekarri zituen, hala nola baldintzarik gabeko adarrei jaramonik ez egitea eta xsave eta dei jarraibideetan erakuslea gordetzea apurtzea. Azterketa gehiagok erakutsi zuen "REP MOVSB" instrukzioari aurrizki erredundante bat gehitzeak instrukzioak eskatzeko erabiltzen den ROB (ReOrder Buffer) bufferaren edukia usteltzen duela.

Uste da errorea "MOVSB" instrukzioaren tamainaren kalkulu oker batek eragindakoa dela, eta horrek ROB bufferean idatzitako jarraibideen helbideratze-aurrizkia gehiegizko aurrizki batekin MOVSB-ren ondoren idatzitako argibideen urraketa dakar. instrukzio-erakuslearena. Dessinkronizazio hori tarteko kalkuluen etenera mugatu daiteke, egoera integralaren ondorengo berrezarpenarekin. Baina hainbat nukleo edo SMT hari aldi berean huts egiten badituzu, egoera mikroarkitekturala nahikoa kaltetu dezakezu huts egiteko.

Iturria: opennet.ru

Gehitu iruzkin berria