Análisis y defensa de la vulnerabilidad de fuga de Sentinel Value del motor Chrome V8

robot
Generación de resúmenes en curso

Análisis técnico de la fuga del Valor Sentinel que elude HardenProtect de Chrome V8

El valor centinela es un valor especial en algoritmos, que generalmente existe como condición de terminación en algoritmos de bucle o recursivos. En el código fuente de Chrome hay muchos valores centinela. Recientemente, se ha demostrado que, a través de la filtración del objeto TheHole, se puede lograr la ejecución de código arbitrario en la sandbox para CVE-2021-38003 y CVE-2022-1364. El equipo de Google luego actualizó estas dos vulnerabilidades en el entorno salvaje.

Además del objeto TheHole, hay otros objetos nativos en V8 que no deben ser revelados a JavaScript. Este artículo discute el objeto Uninitialized Oddball, que actualmente aún se puede utilizar en la última versión de V8.

La mayoría de los objetos nativos de V8 están definidos en el archivo v8/src/roots/roots.h, y estos objetos están dispuestos de manera contigua en la memoria. Una vez que se filtra un objeto nativo que no debería ser expuesto a JavaScript, podría lograrse la ejecución de código arbitrario dentro de la sandbox.

Revelación exclusiva sobre cómo el valor de Sentinel filtrado elude Chrome v8 HardenProtect

Para verificar este método, se puede modificar la función nativa de V8 para filtrar Uninitialized Oddball en JavaScript. En concreto, se puede modificar el desplazamiento relativo de la función %TheHole() respecto al isolate, para que devuelva Uninitialized Oddball.

Exclusivo: Revelando cómo el valor Sentinel filtrado elude Chrome v8 HardenProtect

El uso de Uninitialized Oddball permite lograr lecturas y escrituras relativamente arbitrarias. La función read de JavaScript optimizada calculará directamente el desplazamiento según la semántica de JavaScript, obteniendo el valor del arreglo, lo que resulta en confusión de tipos y permite lecturas arbitrarias.

Revelación exclusiva sobre cómo eludir Chrome v8 HardenProtect a través de la filtración de Sentinel Value

Revelación exclusiva sobre cómo el valor de Sentinel filtrado elude Chrome v8 HardenProtect

Revelación exclusiva sobre cómo el valor de Sentinel filtrado elude Chrome v8 HardenProtect

La solución recomendada es agregar una verificación del mapa del arreglo al devolver elementos del arreglo optimizado en la función, evitando calcular directamente el desplazamiento para devolver los valores del arreglo.

Cabe destacar que este método no solo es aplicable a Chrome, sino que otros software que utilizan el motor V8 también pueden verse afectados. Por ejemplo, Skype aún no ha solucionado esta vulnerabilidad. En x86, debido a la falta de compresión de direcciones, la lectura y escritura arbitrarias son directamente relativas a todo el proceso.

Revelación exclusiva sobre cómo el valor de Sentinel filtrado elude Chrome v8 HardenProtect

Revelación exclusiva sobre cómo eludir Chrome v8 HardenProtect mediante la filtración de Sentinel Value

Revelación exclusiva sobre cómo eludir Chrome v8 HardenProtect a través de la filtración de Sentinel Value

Revelación exclusiva sobre cómo el valor de Sentinel filtrado elude Chrome v8 HardenProtect

En general, se puede lograr la lectura arbitraria de primitivos a través de la filtración de uninitialized_Oddball en el valor Sentinel. En V8 hay otros valores Sentinel que pueden causar problemas similares. Se recomienda agregar estos valores Sentinel como variables en el fuzzer para descubrir más potenciales primitivos de explotación. Independientemente de si se consideran oficialmente como problemas de seguridad, este tipo de problemas acortará significativamente el ciclo para que los hackers logren una explotación completa.

SENC-4.61%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 4
  • Compartir
Comentar
0/400
TommyTeachervip
· 07-20 16:35
Ciertamente es un poco peligroso, ¿eh?
Ver originalesResponder0
BrokeBeansvip
· 07-20 16:22
Pasar todo el día pensando en cavar agujeros, ¿no es mejor practicar con un libro de ejercicios?
Ver originalesResponder0
GateUser-ccc36bc5vip
· 07-20 16:13
¿Es tan malo el v8 de protección?
Ver originalesResponder0
StablecoinGuardianvip
· 07-20 16:09
Oh oh, el V8 seguro que tiene problemas de nuevo.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)