Google droŔības pÄtnieks Taviss Ormandijs ir identificÄjis jaunu ievainojamÄ«bu (CVE-2023-23583) Intel procesoros ar koda nosaukumu Reptar, kas galvenokÄrt apdraud mÄkoÅsistÄmas, kurÄs darbojas dažÄdiem lietotÄjiem piederoÅ”as virtuÄlÄs maŔīnas. IevainojamÄ«ba var izraisÄ«t sistÄmas uzkarÅ”anu vai avÄriju, veicot noteiktas darbÄ«bas neprivileÄ£ÄtÄs viesu sistÄmÄs. TestÄÅ”anas nolÅ«kos ir publicÄta utilÄ«ta, kas rada apstÄkļus ievainojamÄ«bas izmantoÅ”anai.
TeorÄtiski Å”o ievainojamÄ«bu varÄtu izmantot, lai eskalÄtu privilÄÄ£ijas no 3. gredzena uz 0. gredzenu (CPL0) un izkļūtu no izolÄtÄm vidÄm, taÄu Å”is scenÄrijs vÄl nav apstiprinÄts praksÄ mikroarhitektÅ«ras lÄ«meÅa atkļūdoÅ”anas grÅ«tÄ«bu dÄļ. ArÄ« Intel iekÅ”ÄjÄ testÄÅ”ana parÄdÄ«ja ievainojamÄ«bas izmantoÅ”anas potenciÄlu privilÄÄ£iju eskalÄcijai noteiktos apstÄkļos.
PÄc pÄtnieka teiktÄ, Ŕī ievainojamÄ«ba ietekmÄ Intel procesoru saimes Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake un Sapphire Rapids. Intel ziÅojumÄ norÄdÄ«ts, ka problÄma ietekmÄ 10. paaudzes (Ice Lake) Intel Core procesorus un treÅ”Äs paaudzes Xeon Scalable procesorus, kÄ arÄ« Xeon E/D/W procesorus (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) un Atom procesorus (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake un Denverton). IevainojamÄ«ba tika novÄrsta vakardienas mikrokoda atjauninÄjumÄ 20231114.
Å o ievainojamÄ«bu izraisa noteikts mikroarhitektÅ«ras nosacÄ«jums, kurÄ instrukcijas "REP MOVSB" izpilde tiek kodÄta ar lieku prefiksu "REX", kas noved pie nedefinÄtas uzvedÄ«bas. ProblÄma tika atklÄta lieku prefiksu testÄÅ”anas laikÄ, kas teorÄtiski bÅ«tu jÄignorÄ, bet praksÄ radÄ«ja dÄ«vainas sekas, piemÄram, beznosacÄ«jumu lÄcienu ignorÄÅ”anu un rÄdÄ«tÄja saglabÄÅ”anas traucÄjumus xsave un call instrukcijÄs. TurpmÄka analÄ«ze atklÄja, ka lieka prefiksa pievienoÅ”ana instrukcijai "REP MOVSB" sabojÄ ROB (ReOrder Buffer) saturu, kas tiek izmantots instrukciju secÄ«bai.
Tiek uzskatÄ«ts, ka kļūdu izraisa nepareizs MOVSB āāinstrukcijas lieluma aprÄÄ·ins, kas noved pie traucÄjumiem instrukciju adresÄÅ”anÄ, kuras tiek rakstÄ«tas ROB buferÄ« pÄc MOVSB āāar pÄrmÄrÄ«gu prefiksu, un instrukcijas rÄdÄ«tÄja nepareizas izlÄ«dzinÄÅ”anas. Å Ä« desinhronizÄcija var aprobežoties ar starpposma aprÄÄ·inu pÄrtraukÅ”anu ar sekojoÅ”u konsekventa stÄvokļa atjaunoÅ”anu. TomÄr, ja avÄrija tiek izraisÄ«ta vienlaicÄ«gi vairÄkos kodolos vai SMT pavedienos, tÄ var izraisÄ«t pietiekamu mikroarhitektÅ«ras bojÄjumu, lai izraisÄ«tu avÄriju.
Avots: opennet.ru
