CVEvulnerability
CVE-2026-44266
9.8 CRITICAL
Official page ↗
Exploitation and prioritisation
- CISA SSVC: exploitation
- poc
- CISA SSVC: automatable
- yes
- CISA SSVC: technical impact
- total
- EU Vulnerability Database
- EUVD-2026-116110
Affected packages
| Ecosystem | Package | Vulnerable | Fixed in | Advisory |
|---|---|---|---|---|
| npm | @enspirit/elo | < 1.0.1 | 1.0.1 | GHSA-7w38-ggh5-v542 |
- Status
- Received
- Published
- 2026-11-03
- Last modified
- 2026-11-03
- Assigner
- [email protected]
- CVSS 3.1 ([email protected])
- 9.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-116, CWE-1336, CWE-94
Description
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.
Related
Weakness · CWE (3)
Referenced by GitHub Advisory · alias (1)
- GHSA-7w38-ggh5-v542 Elo Ruby backend has Remote Code Execution via unescaped `#{...}` interpolation in emitted string literals and subtype-constraint labels advisory · npm
References
- https://github.com/enspirit/elo/commit/51b869963fbe445c18328714a7ccfbd76b21ba38 github.com
- https://github.com/enspirit/elo/commit/d2a89a8db76a244eb740687524a7e8529b7554b5 github.com
- https://github.com/enspirit/elo/security/advisories/GHSA-7w38-ggh5-v542 github.com
- https://github.com/enspirit/elo/security/advisories/GHSA-7w38-ggh5-v542 github.com