Vulnerabilidade de Reptar que afecta aos procesadores Intel

O investigador de seguridade de Google Tavis Ormandy identificou unha nova vulnerabilidade (CVE-2023-23583) nos procesadores Intel, co nome en clave Reptar, que supón principalmente unha ameaza para os sistemas na nube que executan máquinas virtuais que pertencen a diferentes usuarios. A vulnerabilidade pode provocar que o sistema se bloquee ou se peche ao realizar certas operacións en sistemas invitados sen privilexios. Publicouse unha utilidade que crea as condicións para a explotación con fins de proba.

Teoricamente, a vulnerabilidade podería ser explotada para escalar privilexios do anel 3 ao anel 0 (CPL0) e escapar de contornas illadas, pero este escenario aínda non se confirmou na práctica debido ás dificultades de depuración a nivel de microarquitectura. As probas internas en Intel tamén demostraron o potencial de explotación da vulnerabilidade para a escalada de privilexios en determinadas condicións.

Segundo o investigador, a vulnerabilidade afecta ás familias de procesadores Intel Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake e Sapphire Rapids. O informe de Intel sinala que o problema afecta aos procesadores Intel Core de décima xeración (Ice Lake) e aos procesadores Xeon Scalable de terceira xeración, así como aos procesadores Xeon E/D/W (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) e aos procesadores Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake e Denverton). A vulnerabilidade foi corrixida na actualización do microcódigo 20231114 de onte.

A vulnerabilidade está causada por unha determinada condición microarquitectónica onde a execución da instrución "REP MOVSB" está codificada cun prefixo "REX" redundante, o que leva a un comportamento indefinido. O problema descubriuse durante as probas de prefixos redundantes, que teoricamente deberían ignorarse pero na práctica levaron a efectos estraños, como ignorar saltos incondicionais e interromper o gardado de punteiros nas instrucións xsave e call. Unha análise posterior revelou que engadir un prefixo redundante á instrución "REP MOVSB" corrompe o contido do ROB (ReOrder Buffer), que se usa para a ordenación de instrucións.

Crese que o erro está causado por un cálculo incorrecto do tamaño da instrución MOVSB, o que leva a unha interrupción no enderezamento das instrucións escritas no búfer ROB despois do MOVSB ​​cun prefixo excesivo e a un desalineamento do punteiro da instrución. Esta desincronización pode limitarse á interrupción dos cálculos intermedios coa posterior restauración dun estado consistente. Non obstante, se o fallo se provoca simultaneamente en varios núcleos ou fíos SMT, pode causar suficiente corrupción da microarquitectura como para provocar un fallo.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster