CVE-2026-44266 Ejecución remota de código en el backend Ruby de Elo vía interpolación #{...} sin escapar
Elo, antes de 1.0.1, en su backend Ruby de src/compilers/ruby.ts inserta texto controlado por el atacante en cadenas Ruby entre comillas dobles sin escapar #, por lo que las formas de interpolación Ruby en el emisor de literales de cadena o en la rama de restricción de subtipo etiquetada se vuelven Ruby ejecutable. Entre los puntos de entrada afectados están el playground /try con destino Ruby, bin/eloc -t ruby -x y defaultFormats.elo.parse() seguido de emisión Ruby. Se permite ejecución de código Ruby y de…
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/111,0 % · percentil 62
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
enspirit elo
< 1.0.1
Qué hacer
- Verificá si usás elo y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 9.8 CRÍTICA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadAlta
Descripción original
Elo is a purely functional expression language for no-code tools. Prior to 1.0.1, the Ruby backend in src/compilers/ruby.ts embeds attacker-controlled text in Ruby double-quoted strings without escaping #, so Ruby interpolation forms in the string-literal emitter or the labelled subtype-constraint branch become executable Ruby. The affected entry points include the /try playground with the Ruby target, bin/eloc -t ruby -x, and defaultFormats.elo.parse() followed by Ruby emission. A failing labelled subtype constraint evaluates its message, while an ordinary string literal is evaluated when the compiled Ruby runs, allowing Ruby code and shell command execution through backticks. JavaScript, Python, and SQL emission are not affected by this Ruby-specific path. This issue is fixed in version 1.0.1.
Referencias (3)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.