Un solo clic en una página maliciosa puede comprometer Tor Browser

Publicado el

Vulnerabilidad en Tor Browser

Investigadores de Nebula Security han revelado que una simple visita a una página web maliciosa puede comprometer el Tor Browser, gracias a una vulnerabilidad en el motor de renderizado de Firefox. Esta falla, conocida como CVE-2026-10702, permite la ejecución de código arbitrario dentro del proceso de renderizado del navegador.

La empresa ha clasificado la vulnerabilidad como de alto riesgo y ha instado a los usuarios a actualizar a la versión Firefox 151.0.3, que corrige esta problemática. Según Eten Zou, CEO de Nebula Security, no se requieren configuraciones específicas ni interacciones adicionales por parte del usuario: "Visitar una página maliciosa es suficiente para activar la vulnerabilidad". Todos los lanzamientos de Tor Browser que incorporaron versiones vulnerables de Firefox están en riesgo, aunque aún no se han identificado las versiones exactas afectadas.

Detalles técnicos de la vulnerabilidad

La vulnerabilidad permite que el código se ejecute únicamente dentro del proceso de contenido aislado de Firefox. Nebula ha hecho público material de explotación y ha utilizado esta falla en la primera fase de IonStack, una cadena que va de navegador a núcleo, diseñada para un dispositivo ARM64 que ejecuta Android 17. El código liberado apunta a una versión soportada de Google, aunque Zou ha aclarado que la falla del navegador no es específica de ARM. El material público incluye los desplazamientos de Firefox 151.0 para la versión ARM64 de Android 17, y cada paso de explotación es independiente de la arquitectura, siendo la ruta x86 descrita como más estable.

Análisis de la explotación

El análisis técnico llevado a cabo por Nebula señala que la problemática se origina en MObjectToIterator, cuando se ejecuta con el parámetro `skipRegistration` establecido en true. El compilador Just-In-Time (JIT) de Firefox convierte JavaScript en código nativo, pero para hacerlo de manera segura, debe rastrear qué operaciones pueden acceder a la memoria. Sin embargo, Firefox trató una operación como una lectura, a pesar de que resolver una propiedad perezosa podría provocar la asignación de un nuevo búfer de slots dinámicos y liberar el antiguo.

Esto llevó a que la numeración de valores globales considerara una carga de búfer de slots posterior como redundante y reutilizara un puntero que ya había quedado obsoleto. El exploit liberado por Nebula recupera la asignación liberada, filtra un puntero de clase oculta, construye un objeto falso y corrompe un Uint8Array para obtener lecturas y escrituras de memoria arbitrarias. El código de Android luego cambia las protecciones de memoria y redirige un punto de entrada de función de WebAssembly a un shellcode ARM64.

La falla se basa en un contrato de compilador muy estricto: una operación capaz de reemplazar el búfer de slots dinámicos del objeto fue etiquetada como una lectura. Este error permitió que la lógica de optimización válida preservara un puntero que el tiempo de ejecución ya había invalidado.

Mozilla ha abordado la falla en su código eliminando el manejo de alias de solo lectura personalizado de ObjectToIterator y ajustando la operación relacionada de iterador, evitando así que el optimizador trate un paso capaz de mutación como una carga inofensiva y retenga un puntero obsoleto.

Implicaciones y recomendaciones

La segunda fase de IonStack se basa en CVE-2026-43499, una falla separada en el núcleo de Linux identificada como GhostLock. CVE-2026-10702 proporciona un acceso remoto al navegador, mientras que CVE-2026-43499 permite escalar a nivel root en la versión de Android soportada. Zou ha indicado que GhostLock es invocado directamente desde Firefox, añadiendo que el sandboxing más débil de Android facilita la explotación. Sin embargo, Nebula no considera que un sandboxing más robusto en escritorio prevenga el ataque.

Actualizar Firefox es crucial para bloquear el punto de entrada documentado del navegador, aunque no corrige directamente la vulnerabilidad GhostLock.

Fuente

Ver noticia original