Vulnerabilitatea Reptar care afectează procesoarele Intel

Tavis Ormandy, cercetător în securitate la Google, a identificat o nouă vulnerabilitate (CVE-2023-23583) la procesoarele Intel, cu numele de cod Reptar, care reprezintă în principal o amenințare pentru sistemele cloud care rulează mașini virtuale ale diferiților utilizatori. Vulnerabilitatea permite sistemului să se blocheze sau să se blocheze atunci când anumite operațiuni sunt efectuate pe sisteme oaspeți neprivilegiate. Pentru a vă testa sistemele, a fost publicat un utilitar care creează condiții pentru manifestarea vulnerabilităților.

Teoretic, vulnerabilitatea poate fi folosită pentru a escalada privilegiile de la al treilea la inelul de protecție zero (CPL0) și a scăpa din medii izolate, dar acest scenariu nu a fost încă confirmat în practică din cauza dificultăților de depanare la nivel microarhitectural. O analiză internă la Intel a arătat, de asemenea, potențialul de exploatare a vulnerabilității pentru a escalada privilegiile în anumite condiții.

Potrivit cercetătorului, vulnerabilitatea este prezentă în familiile de procesoare Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake și Sapphire Rapids. Raportul Intel mentioneaza ca problema apare incepand de la a 10-a generatie (Ice Lake) de procesoare Intel Core si a treia generatie de procesoare Xeon Scalable, precum si la procesoarele Xeon E/D/W (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). Vulnerabilitatea în cauză a fost remediată în actualizarea de microcod 20231114 de ieri.

Vulnerabilitatea este cauzată de faptul că, în anumite circumstanțe microarhitecturale, execuția instrucțiunii „REP MOVSB” este codificată cu un prefix „REX” excesiv, ceea ce duce la un comportament nedefinit. Problema a fost descoperită în timpul testării prefixelor redundante, care în teorie ar trebui ignorate, dar în practică au dus la efecte ciudate, cum ar fi ignorarea ramurilor necondiționate și întreruperea salvării pointerului în instrucțiunile xsave și call. O analiză ulterioară a arătat că adăugarea unui prefix redundant la instrucțiunea „REP MOVSB” cauzează coruperea conținutului buffer-ului ROB (ReOrder Buffer) utilizat pentru a comanda instrucțiuni.

Se crede că eroarea este cauzată de un calcul incorect al mărimii instrucțiunii „MOVSB”, ceea ce duce la încălcarea adresei instrucțiunilor scrise în buffer-ul ROB după MOVSB ​​​​cu un prefix excesiv și la offset. a indicatorului de instrucțiune. O astfel de desincronizare poate fi limitată la întreruperea calculelor intermediare cu restabilirea ulterioară a stării integrale. Dar dacă blocați mai multe nuclee sau fire SMT în același timp, puteți deteriora starea microarhitecturală suficient pentru a se prăbuși.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster