Análisis y explotación de vulnerabilidades de seguridad de Sentinel Value del motor Chrome V8

Análisis del Valor Sentinel en el motor V8 de Google Chrome y sus riesgos de seguridad

El valor centinela es un valor especial en los algoritmos, que se usa comúnmente como condición de terminación en bucles o recursiones. El código fuente de Chrome contiene múltiples valores centinela, algunos de los cuales, si se filtraran al entorno de JavaScript, podrían causar problemas de seguridad. Este artículo explorará métodos para eludir el mecanismo HardenProtect de Chrome V8 utilizando el objeto Uninitialized Oddball filtrado.

Valor centinela en V8

El archivo roots.h del código fuente de V8 define una gran cantidad de objetos nativos que están dispuestos secuencialmente en la memoria. Si estos objetos nativos que no deberían ser expuestos a JavaScript se filtran, podría resultar en una fuga de la sandbox. La filtración del objeto TheHole en el pasado es un caso típico.

Para verificar el problema en la última versión V8, se puede modificar la función %TheHole() para que devuelva un objeto Uninitialized Oddball:

javascript print(%DebugPrint(%TheHole())); // Salida: Valor no inicializado

Revelación exclusiva sobre cómo el valor de Sentinel se filtra para eludir Chrome v8 HardenProtect

Eludir la protección HardenType

Utilizando Uninitialized Oddball se puede construir el siguiente código PoC para lograr lectura arbitraria:

javascript function read(obj, idx) { return obj[idx]; }

let uninitialized = %TheHole(); let arr = [1.1]; %PrepararFunciónParaOptimización(leer); read(arr, 0); read(arr, 0); %OptimizeFunctionOnNextCall(leer); read(arr, 0);

print(leer(no inicializado, 0x1234n));

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

La función read optimizada mediante desensamblado muestra que no verifica estrictamente el tipo de valor de obj.prop, calcula el desplazamiento directamente según la semántica de JavaScript y devuelve elementos de matriz, lo que causa confusión de tipos y permite la lectura arbitraria.

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 en la función optimizada, evitando calcular directamente el valor de retorno del desplazamiento.

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

Aviso de riesgo de PatchGap

El análisis ha descubierto que algunos software como Skype pueden tener problemas de PatchGap, y aún no se ha solucionado esta vulnerabilidad. Los hackers pueden aprovechar esta vulnerabilidad para completar una cadena de explotación en un corto período de tiempo.

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

Además, después de que se hicieran públicas nuevas técnicas de evasión, la dificultad de explotación de algunas vulnerabilidades históricas (, como Issue1314616 e Issue1216437), se ha reducido drásticamente. Se recomienda que los proveedores reevaluen los riesgos de seguridad asociados a estas vulnerabilidades.

Revelación exclusiva sobre cómo el valor Sentinel filtrado puede eludir Chrome v8 HardenProtect

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

Resumen

En V8 hay muchos otros valores Sentinel que valen la pena investigar más a fondo. Se sugiere considerar la inclusión de %TheHole/Uninitialized_Oddball como variables en el Fuzzer para descubrir nuevos primitivas de explotación. Independientemente de si este tipo de problemas se clasifica formalmente como un problema de seguridad, podría acortar significativamente el ciclo completo de explotación de los hackers.

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

SENC10.69%
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
  • 5
  • Republicar
  • Compartir
Comentar
0/400
ParanoiaKingvip
· hace13h
Otra amenaza más.
Ver originalesResponder0
WenMoon42vip
· hace13h
Otra vez es profundidad de investigación.
Ver originalesResponder0
CryptoSourGrapevip
· hace13h
Resulta que aquí también hay trampas
Ver originalesResponder0
ForkItAllDayvip
· hace13h
Nuevas ideas sobre desbordamiento de pila
Ver originalesResponder0
Fren_Not_Foodvip
· hace13h
Es demasiado loco eludir la vulnerabilidad.
Ver originalesResponder0
  • Anclado
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)