Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Vulnerabilidad crítica de SandboxJS permite tomar el control del host


Se ha descubierto una falla de seguridad crítica en SandboxJS, una biblioteca de aislamiento de JavaScript muy utilizada en npm. Esta vulnerabilidad, identificada como CVE-2026-43898, permite a los atacantes evadir el sandbox y ejecutar código arbitrario directamente en el sistema anfitrión, alcanzando una puntuación de gravedad máxima de 10.0.




Se ha encontrado un fallo de seguridad crítico en SandboxJS, una biblioteca de sandboxing de JavaScript ampliamente utilizada y disponible en npm. La vulnerabilidad permite a los atacantes escapar completamente del sandbox y ejecutar cualquier código que deseen directamente en el sistema anfitrión.

Rastreada como CVE-2026-43898, cuenta con una puntuación de severidad máxima de 10.0, lo cual es lo más grave que puede llegar a ser una vulnerabilidad de seguridad en el panorama global de amenazas, cada vez más hostil.

El fallo afecta a todas las versiones del paquete @nyariv/sandboxjs hasta la versión 0.9.5 incluida. En esencia, el problema es que las funciones definidas en el sandbox estaban filtrando accidentalmente un potente callback interno llamado LispType.Call.

Una vez que un atacante consigue ese callback, puede utilizarlo para salir del sandbox y tomar el control total y sin restricciones de todo el entorno del sistema anfitrión.

Investigadores de seguridad de GitHub identificaron el fallo y publicaron el aviso bajo el identificador GHSA-g8f2-4f4f-5jqw. La vulnerabilidad fue reportada por un investigador de seguridad conocido como Macabely, quien también proporcionó una prueba de concepto funcional para demostrar exactamente cómo podría llevarse a cabo el escape en condiciones reales.

El impacto es severo, ya que un atacante que explote este fallo puede lograr una ejecución remota de código completa en la máquina anfitriona, sin necesidad de credenciales de inicio de sesión y sin requerir ninguna interacción del usuario. Esto significa que cualquier aplicación que utilice la biblioteca afectada para ejecutar JavaScript no confiable está potencialmente en riesgo de que el sistema anfitrión sea tomado por completo.

¿Cómo funciona el escape del sandbox?

Se ha lanzado una versión parcheada, la 0.9.6, que ya está disponible en npm. Se recomienda encarecidamente a todos los usuarios del paquete afectado que actualicen inmediatamente. Permanecer en cualquier versión igual o inferior a la 0.9.5 deja la puerta abierta a este tipo de ataque devastador.

La vulnerabilidad reside en la lógica de acceso a las propiedades dentro de un archivo llamado prop.ts, específicamente en una función llamada addOps. El problema es que se permitía que el código del sandbox leyera las propiedades caller, callee y arguments de las funciones.

En la compilación CommonJS de la biblioteca, esto permitía que una función del sandbox llamara a algo como function f(){ return f.caller } y recibiera de vuelta el callback interno del lado del anfitrión que lo activó originalmente.

Ese callback filtrado es la operación LispType.Call, que gestiona las llamadas a funciones dentro del tiempo de ejecución. El problema crítico es que este manejador acepta un objeto params y utiliza sus campos directamente, sin comprobar si esos campos provienen realmente del ejecutor confiable.

Dado que el atacante controla totalmente esos campos, puede crear entradas falsificadas que engañen al manejador para que haga cosas para las que nunca fue diseñado.

Al encadenar una serie de llamadas manipuladas a través del callback filtrado, un atacante puede extraer el constructor de funciones real del anfitrión. Una vez que lo tiene, puede pasarle una cadena de código JavaScript y ejecutarla directamente en el sistema.

La prueba de concepto incluida en el aviso demuestra esto claramente ejecutando un comando del sistema a través del módulo integrado child_process de Node.

Ejecución remota de código y el riesgo general

La puntuación CVSS de 10.0 refleja lo peligrosa que es realmente esta vulnerabilidad. El ataque puede lanzarse a través de la red, requiere una complejidad baja para llevarse a cabo, no necesita privilegios especiales y no depende de ninguna acción del usuario.

El alcance se marca como "Cambiado", lo que significa que un exploit exitoso cruza la frontera desde el entorno del sandbox directamente hacia el sistema anfitrión.

Cualquier plataforma que utilice SandboxJS para ejecutar JavaScript enviado por usuarios o de terceros está en la línea de fuego. Esto incluye editores de código en línea, herramientas de scripting del lado del servidor, plataformas de automatización y cualquier aplicación que procese scripts no confiables.

Una vez que el sandbox se rompe, los atacantes obtienen acceso total a la confidencialidad, integridad y disponibilidad del anfitrión.

La corrección en la versión 0.9.6 aborda la causa raíz bloqueando el acceso a las propiedades caller, callee y arguments dentro del código del sandbox.

Los desarrolladores que no puedan actualizar de inmediato deben evitar ejecutar cualquier JavaScript no confiable a través de la biblioteca afectada hasta que el parche haya sido aplicado correctamente y probado exhaustivamente en su propio entorno.



Fuentes:
https://cybersecuritynews.com/critical-sandboxjs-escape-vulnerability/

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.