Saltar al contenido
CVE-2026-44267 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de escape del entorno aislado (sandbox) en Elo que permite la ejecución de código arbitrario en Node.js o el navegador mediante el acceso no filtrado al miembro `.constructor` en el emisor JavaScript

enspirit · elo · Publicada en CVE.org el 03-11-2026 · Última actualización: 09-11-2026

Descripción

Elo es un lenguaje de expresiones puramente funcional para herramientas no-code. En versiones anteriores a la 1.0.1, las cadenas Elo simples suministradas a defaultFormats.elo.parse(), bin/elo o elo-lang.org/try pueden usar .constructor.constructor para llegar a Function de JavaScript, debido a que el manejador member_access en src/transform.ts no rechaza las metapropiedades, src/compilers/javascript.ts emite directamente la propiedad resultante y src/parser.ts acepta constructor como un identificador ordinario. El JavaScript generado resultante ejecuta código elegido por el atacante en el entorno de ejecución anfitrión. Esto permite la ejecución de scripts en el navegador y el compromiso de la sesión en el playground de ejecución automática, y la ejecución de código arbitrario de Node.js en hosts de bibliotecas, CI o DevOps. Esta ruta de cadena simple es distinta del problema de inyección programática de objetos AST. Este problema está corregido en la versión 1.0.1.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • elo Afectadas: < 1.0.1

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

Elo: Sandbox escape to arbitrary Node.js / browser code execution via unfiltered `.constructor` member access in Elo JavaScript emitter

Elo is a purely functional expression language for no-code tools. Prior to 1.0.1, plain Elo strings supplied to defaultFormats.elo.parse(), bin/elo, or elo-lang.org/try can use .constructor.constructor to reach JavaScript Function because the member_access handler in src/transform.ts does not reject meta-properties, src/compilers/javascript.ts emits the surviving property directly, and src/parser.ts accepts constructor as an ordinary identifier. The resulting generated JavaScript executes attacker-selected code in the host runtime. This permits browser script execution and session compromise on the auto-running playground and arbitrary Node.js code execution on library, CI, or DevOps hosts. This plain-string path is distinct from the programmatic AST-object injection issue. This issue is fixed in version 1.0.1.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia