CVE-2026-23830
SandboxJS tiene una evasión de sandbox a través del constructor AsyncFunction no protegido
- Publicado
- 27 ene 2026
- Actualizado
- 28 ene 2026
- Asignación de CNA
- GitHub_M
- Evidencia observada
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HBajo · próximos 30 días
- Percentil
- 65,5 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
SandboxJS es una librería de sandboxing de JavaScript. Las versiones anteriores a la 0.8.26 tienen una vulnerabilidad de escape de sandbox debido a que `AsyncFunction` no está aislada en `SandboxFunction`. La librería intenta aplicar un sandbox a la ejecución de código reemplazando el constructor global `Function` con una versión segura y con sandbox (`SandboxFunction`). Esto se maneja en `utils.ts` mapeando `Function` a `sandboxFunction` dentro de un mapa utilizado para búsquedas. Sin embargo, antes de la versión 0.8.26, la librería no incluía mapeos para `AsyncFunction`, `GeneratorFunction` y `AsyncGeneratorFunction`. Estos constructores no son propiedades globales, pero se puede acceder a ellos a través de la propiedad `.constructor` de una instancia (por ejemplo, `(async () => {}).constructor`). En `executor.ts`, se maneja el acceso a propiedades. Cuando el código que se ejecuta dentro del sandbox accede a `.constructor` en una función asíncrona (que el sandbox permite crear), el `executor` recupera el valor de la propiedad. Dado que `AsyncFunction` no estaba en el mapa de reemplazo seguro, el `executor` devuelve el constructor `AsyncFunction` nativo real del host. Los constructores para funciones en JavaScript (como `Function`, `AsyncFunction`) crean funciones que se ejecutan en el ámbito global. Al obtener el constructor `AsyncFunction` del host, un atacante puede crear una nueva función asíncrona que se ejecuta completamente fuera del contexto del sandbox, eludiendo todas las restricciones y obteniendo acceso total al entorno del host (ejecución remota de código). La versión 0.8.26 corrige esta vulnerabilidad.
Fuentes
1- CVE-2026-23830-SandBreakExploit
Genera y entrega payloads de explotación para CVE-2026-23830, una evasión de SandboxJS, con modos para exfiltración OOB ciega y PoC de calc local. Admite listeners HTTP/HTTPS y produce payloads de JavaScript minificados.
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.