CVE-2026-34208: Vulnerabilidad crítica en SandboxJS permite escape de sandbox

  • Puntuación CVSS 10.0: La máxima severidad, indica que un atacante remoto puede comprometer completamente la confidencialidad e integridad del sistema.
  • Bypass de sandbox: La vulnerabilidad permite saltar las protecciones de la biblioteca mediante this.constructor.call para escribir propiedades arbitrarias en objetos globales.
  • Persistencia de cambios: Las mutaciones realizadas por el atacante perduran entre diferentes instancias de sandbox dentro del mismo proceso.
  • Sin exploit público confirmado: A día de publicación, no se han reportado exploits en activo, pero la criticidad exige acción inmediata.
  • Solución disponible: La versión 0.8.36 de SandboxJS parchea el fallo. La actualización es la única mitigación efectiva.

La vulnerabilidad crítica SandboxJS, registrada oficialmente como CVE-2026-34208, representa una amenaza de máxima severidad (CVSS 10.0) para cualquier aplicación que utilice esta biblioteca para aislar y ejecutar código JavaScript no confiable. Según el análisis de la NVD, el fallo reside en un mecanismo de bypass que anula las protecciones de sandboxing, permitiendo a un atacante remoto, sin necesidad de autenticación, modificar objetos globales del entorno anfitrión y que esos cambios persistan entre distintas instancias.

Qué es la vulnerabilidad crítica SandboxJS CVE-2026-34208 y cómo funciona

SandboxJS es una biblioteca popular para crear entornos de ejecución aislados (sandbox) en JavaScript, comúnmente empleada en aplicaciones que necesitan procesar código dinámico o de terceros de forma segura. Su objetivo es prevenir que código malicioso acceda o modifique el entorno global del proceso principal. Sin embargo, la vulnerabilidad crítica SandboxJS rompe por completo este aislamiento.

La raíz del problema está en que, si bien SandboxJS bloquea correctamente las asignaciones directas a objetos globales (como Math.random = ...), expone una ruta alternativa a través del constructor. Un atacante puede utilizar la secuencia this.constructor.call(target, attackerObject). Dado que this.constructor se resuelve a la función interna SandboxGlobal y Function.prototype.call está permitida, el código malicioso puede inyectar propiedades arbitrarias en objetos globales del host.

Pantalla de ordenador mostrando una alerta de seguridad crítica (CVSS 10.0) relacionada con una biblioteca de software.
Pantalla de ordenador mostrando una alerta de seguridad crítica (CVSS 10.0) relacionada con una biblioteca de software. — Foto: Daniil Komov vía Unsplash

Desglose del vector de ataque y la puntuación CVSS 10.0

La calificación CVSS (Common Vulnerability Scoring System) de 10.0, la máxima posible, no es casual. El vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L se desglosa así: el ataque se puede lanzar desde red (AV:N), con baja complejidad (AC:L), sin requisitos de privilegios (PR:N) y sin interacción del usuario (UI:N). Su impacto es crítico porque el ámbito cambia (S:C), comprometiendo totalmente la confidencialidad (C:H) e integridad (I:H), y afectando parcialmente la disponibilidad (A:L). En la práctica, esto significa que cualquier aplicación web o servicio que use una versión vulnerable de SandboxJS está expuesto a que un atacante remoto tome el control del proceso y robe o manipule datos sensibles.

Lo más preocupante, desde el punto de vista de la ciberinteligencia, es la persistencia de las mutaciones. Los cambios que el atacante realiza en los objetos globales no se limitan a la instancia de sandbox comprometida; se mantienen para todas las instancias futuras creadas en el mismo proceso. Esto abre la puerta a ataques de escalada de privilegios y a la corrupción persistente del entorno de ejecución.

Sistemas y productos afectados por la vulnerabilidad CVE-2026-34208

Según el aviso de seguridad oficial en GitHub, la vulnerabilidad afecta a todas las versiones de SandboxJS anteriores a la 0.8.36. Esto incluye cualquier proyecto, aplicación o servicio que dependa de esta biblioteca para aislar código JavaScript. Aunque la fuente principal (NVD) remite a las referencias oficiales para una lista detallada, en nuestro análisis identificamos que el riesgo es extensivo.

Dado que SandboxJS se utiliza a menudo en entornos como motores de plugins, entornos de pruebas de código, plataformas de low-code o sistemas que evalúan lógica de usuario, el impacto potencial es amplio. Desarrolladores y administradores de sistemas deben auditar inmediatamente sus dependencias para verificar si utilizan SandboxJS y, en caso afirmativo, comprobar la versión instalada. La ausencia de un exploit público confirmado a día de hoy no debe llevar a la complacencia; la criticidad del fallo lo convierte en un objetivo prioritario para actores maliciosos.

Representación visual de dependencias de software y librerías, mostrando cómo una vulnerabilidad en una afecta a toda la cadena.
Representación visual de dependencias de software y librerías, mostrando cómo una vulnerabilidad en una afecta a toda la cadena. — Foto: Gabriel Heinzer vía Unsplash

Cómo verificar si tu proyecto utiliza SandboxJS

Para comprobar si estás afectado, revisa el archivo package.json de tu proyecto Node.js o el gestor de dependencias correspondiente. Busca la entrada "sandboxjs" o "SandboxJS" y confirma que la versión sea igual o superior a 0.8.36. Si la biblioteca se incluye como parte de una dependencia transitiva (es decir, otra librería la usa internamente), herramientas como npm audit o yarn audit pueden ayudar a identificar el riesgo. Fuentes del sector recomiendan escanear toda la cadena de suministro de software, ya que este tipo de vulnerabilidades en librerías fundamentales suelen tener un efecto dominó.

Cómo mitigar y parchar la vulnerabilidad crítica en SandboxJS

La única mitigación completa y efectiva para la vulnerabilidad crítica SandboxJS es actualizar la biblioteca a la versión 0.8.36 o superior. Los mantenedores ya han publicado el parche que corrige el bypass, restableciendo la integridad del mecanismo de sandboxing. El procedimiento es directo: actualiza la dependencia en tu proyecto y despliega los cambios en todos los entornos (desarrollo, staging y producción).

Si, por alguna razón crítica, la actualización inmediata no es viable, las opciones son limitadas y conllevan un riesgo residual alto. Una medida temporal podría ser deshabilitar las funcionalidades que utilizan SandboxJS para procesar código no confiable hasta que se pueda aplicar el parche. No existe workaround de configuración que mitigue plenamente el fallo, dado que se trata de un defecto en la lógica de aislamiento de la propia librería.

Administrador aplicando una actualización de seguridad o parche a un servidor para mitigar una vulnerabilidad crítica.
Administrador aplicando una actualización de seguridad o parche a un servidor para mitigar una vulnerabilidad crítica. — Foto: Zulfugar Karimov vía Unsplash

Como analistas, subrayamos la urgencia. Un CVSS 10.0 es una llamada de atención ineludible. Recomendamos priorizar esta actualización sobre otras tareas de mantenimiento. Tras aplicar el parche, es aconsejable realizar pruebas de integración para asegurarse de que la corrección no introduce regresiones en la funcionalidad de sandboxing de tu aplicación.

Referencias y recursos oficiales


¿Tu organización está preparada ante las ciberamenazas?

En Iberia Intelligence combinamos Ciberinteligencia y Automatización con IA para anticipar amenazas, proteger activos digitales y blindar la operativa de empresas e instituciones hispanohablantes.

→ Conoce nuestros servicios y da el primer paso

Deja un comentario