Discusión sobre los riesgos de seguridad del Valor Centinela en el motor V8 de Chrome
El valor centinela es un valor especial en los algoritmos, que a menudo se utiliza como condición de terminación en algoritmos de bucle o recursivos. En el código fuente de Chrome hay muchos valores centinela. Investigaciones recientes han demostrado que la divulgación de objetos específicos de valor centinela puede llevar a la ejecución arbitraria de código dentro de la sandbox de Chrome.
Este artículo discutirá un nuevo objeto de valor Sentinel: Oddball No Inicializado. Este método de bypass apareció por primera vez en un informe de vulnerabilidad, proporcionado por investigadores de seguridad con el código completo. Es notable que este método aún se puede utilizar en la última versión de V8 y no ha sido reparado.
Este método tiene una gran versatilidad:
En una vulnerabilidad CVE determinada, el poc inicial era la filtración de un oddball interno no inicializado.
En otro informe de vulnerabilidad CVE, los investigadores filtraron directamente UninitializedOddball; aunque la cadena de explotación estaba incompleta en ese momento, ya se mostraron riesgos de seguridad.
En un informe reciente sobre vulnerabilidades se presentó un método completo de explotación.
Estos casos ilustran la universalidad y gravedad del problema. Hasta ahora, cierto software de mensajería no ha corregido esta vulnerabilidad.
Aplicación del valor centinela en V8
En el código fuente de V8 se definen una gran cantidad de objetos nativos, que se organizan en memoria de manera adyacente. Una vez que se exponen objetos nativos que no deberían filtrarse a JavaScript, es posible ejecutar cualquier código dentro de la sandbox.
Para verificar la efectividad de este método en la última V8, podemos modificar la función nativa de V8 para filtrar Oddball no inicializado en JavaScript.
Evitar la protección HardenType
Podemos construir código que, cuando una función devuelve UninitializedOddball, implementa una lectura arbitraria. Al analizar el código ensamblador optimizado, se puede observar que la función solo verifica si las propiedades del objeto son correctas, pero no comprueba los valores correspondientes a las propiedades, calculando directamente el desplazamiento para obtener elementos del arreglo según la semántica de JavaScript, lo que provoca confusión de tipos y permite la lectura arbitraria.
De manera similar, cualquier escritura también se puede construir mediante un método similar. Se sugiere al optimizar la función que devuelve elementos de la matriz, añadir una verificación del mapa de la matriz para evitar calcular directamente el valor de retorno del desplazamiento.
Aviso de riesgos de seguridad
El análisis indica que cierto software de mensajería aún no ha reparado esta vulnerabilidad. En sistemas x86, debido a la falta de compresión de direcciones, la lectura y escritura arbitrarias son directas con respecto a todo el proceso. Aunque se ha activado ASLR, debido a que el archivo es grande, todavía hay una alta probabilidad de leer y escribir contenido crítico. Combinando métodos como el análisis PE, puede ser posible completar una cadena de explotación completa en un corto período de tiempo.
Esta vez, la vulnerabilidad de seguridad no solo involucra un solo fallo, sino que también ha reducido drásticamente la dificultad de explotación de algunas vulnerabilidades similares anteriores. Los hackers casi no necesitan investigar más para lograr una explotación completa, incluyendo todas las vulnerabilidades similares que se reportaron anteriormente.
Resumen
Este artículo discute brevemente el método para realizar lecturas arbitrarias a través de la filtración de Uninitialized Oddball. En V8 hay muchos otros valores centinela que pueden presentar riesgos de seguridad similares. Esto nos da algunas pistas:
¿La filtración de otros valores Sentinel también podría llevar a una fuga de sandbox V8?
¿Deberían considerarse oficialmente este tipo de problemas como vulnerabilidades de seguridad?
¿Es necesario incluir variables relacionadas con el valor centinela en las pruebas de fuzz para descubrir más problemas potenciales?
En cualquier caso, este tipo de problemas puede acortar significativamente el período en que los hackers pueden realizar un aprovechamiento completo, lo cual merece una alta atención.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
8 me gusta
Recompensa
8
4
Compartir
Comentar
0/400
ArbitrageBot
· 07-11 10:52
¿Qué está haciendo Google? Esto puede tener vulnerabilidades.
Ver originalesResponder0
SelfSovereignSteve
· 07-10 20:07
¿Dónde está la protección del navegador?
Ver originalesResponder0
StablecoinArbitrageur
· 07-10 19:58
hmm otro exploit con un 99.8% de probabilidad de ser parcheado antes de cualquier oportunidad de arbitraje significativa...
Ver originalesResponder0
DefiPlaybook
· 07-10 19:45
¿También hay airdrop en el navegador? ¿Se puede aprovechar esta oportunidad?
Vulnerabilidad de fuga de valores Sentinel del motor V8: Análisis de un nuevo método de escape de sandbox en Chrome
Discusión sobre los riesgos de seguridad del Valor Centinela en el motor V8 de Chrome
El valor centinela es un valor especial en los algoritmos, que a menudo se utiliza como condición de terminación en algoritmos de bucle o recursivos. En el código fuente de Chrome hay muchos valores centinela. Investigaciones recientes han demostrado que la divulgación de objetos específicos de valor centinela puede llevar a la ejecución arbitraria de código dentro de la sandbox de Chrome.
Este artículo discutirá un nuevo objeto de valor Sentinel: Oddball No Inicializado. Este método de bypass apareció por primera vez en un informe de vulnerabilidad, proporcionado por investigadores de seguridad con el código completo. Es notable que este método aún se puede utilizar en la última versión de V8 y no ha sido reparado.
Este método tiene una gran versatilidad:
En una vulnerabilidad CVE determinada, el poc inicial era la filtración de un oddball interno no inicializado.
En otro informe de vulnerabilidad CVE, los investigadores filtraron directamente UninitializedOddball; aunque la cadena de explotación estaba incompleta en ese momento, ya se mostraron riesgos de seguridad.
En un informe reciente sobre vulnerabilidades se presentó un método completo de explotación.
Estos casos ilustran la universalidad y gravedad del problema. Hasta ahora, cierto software de mensajería no ha corregido esta vulnerabilidad.
Aplicación del valor centinela en V8
En el código fuente de V8 se definen una gran cantidad de objetos nativos, que se organizan en memoria de manera adyacente. Una vez que se exponen objetos nativos que no deberían filtrarse a JavaScript, es posible ejecutar cualquier código dentro de la sandbox.
Para verificar la efectividad de este método en la última V8, podemos modificar la función nativa de V8 para filtrar Oddball no inicializado en JavaScript.
Evitar la protección HardenType
Podemos construir código que, cuando una función devuelve UninitializedOddball, implementa una lectura arbitraria. Al analizar el código ensamblador optimizado, se puede observar que la función solo verifica si las propiedades del objeto son correctas, pero no comprueba los valores correspondientes a las propiedades, calculando directamente el desplazamiento para obtener elementos del arreglo según la semántica de JavaScript, lo que provoca confusión de tipos y permite la lectura arbitraria.
De manera similar, cualquier escritura también se puede construir mediante un método similar. Se sugiere al optimizar la función que devuelve elementos de la matriz, añadir una verificación del mapa de la matriz para evitar calcular directamente el valor de retorno del desplazamiento.
Aviso de riesgos de seguridad
El análisis indica que cierto software de mensajería aún no ha reparado esta vulnerabilidad. En sistemas x86, debido a la falta de compresión de direcciones, la lectura y escritura arbitrarias son directas con respecto a todo el proceso. Aunque se ha activado ASLR, debido a que el archivo es grande, todavía hay una alta probabilidad de leer y escribir contenido crítico. Combinando métodos como el análisis PE, puede ser posible completar una cadena de explotación completa en un corto período de tiempo.
Esta vez, la vulnerabilidad de seguridad no solo involucra un solo fallo, sino que también ha reducido drásticamente la dificultad de explotación de algunas vulnerabilidades similares anteriores. Los hackers casi no necesitan investigar más para lograr una explotación completa, incluyendo todas las vulnerabilidades similares que se reportaron anteriormente.
Resumen
Este artículo discute brevemente el método para realizar lecturas arbitrarias a través de la filtración de Uninitialized Oddball. En V8 hay muchos otros valores centinela que pueden presentar riesgos de seguridad similares. Esto nos da algunas pistas:
¿La filtración de otros valores Sentinel también podría llevar a una fuga de sandbox V8?
¿Deberían considerarse oficialmente este tipo de problemas como vulnerabilidades de seguridad?
¿Es necesario incluir variables relacionadas con el valor centinela en las pruebas de fuzz para descubrir más problemas potenciales?
En cualquier caso, este tipo de problemas puede acortar significativamente el período en que los hackers pueden realizar un aprovechamiento completo, lo cual merece una alta atención.