Patch Forecast
Amber warning
Patch this week.

CVE-2026-44267 · GHSA-33r5-xmm8-v6x5

Elo JavaScript emitter has sandbox escape to arbitrary Node.js / browser code execution via unfiltered `.constructor` member access

Risk score
79/100
CVSS
9.8 v3.1
Published
3 Nov 2026

Open in the live forecast Today's forecast

What to know

What it is
A vulnerability in Elo's JavaScript emitter allows an attacker to execute arbitrary Node.js or browser code via unfiltered `.constructor` member access. This could lead to browser script execution and session compromise, or arbitrary Node.js code execution on hosts.
Affected
{'products': ['Elo'], 'packages': [{'ecosystem': 'npm', 'name': '@enspirit/elo', 'versions': ['<= 1.0.0']}]}
Fix
Upgrade to version 1.0.1
Exploitation
Public proof of concept

Story map

Story map: @enspirit/eloTHE FLAWSTHE FIXCVE-2026-44267Elo JavaScript emitter hassandbox escape to arbitraryNode.js / browser code…CVSS 9.8CVE-2026-44266Elo Ruby backend has RemoteCode Execution via unescaped`#{...}` interpolation in…CVSS 9.8CVE-2026-44265Elo backends have codeinjection via unvalidatedemission of programmatic…CVSS 7.4Upgrade @enspirit/elo1.0.1or later on your release lineWho is exposed{'products': ['Elo'], 'packages':[{'ecosystem': 'npm', 'name':'@enspirit/elo', 'versions': ['<=1.0.0']}]}AMBER · PATCH THIS WEEK@enspirit/eloA vulnerability in Elo'sJavaScript emitter allows anattacker to execute arbitraryNode.js or browser code viaunfiltered `.constructor`member access. This could leadto browser script execution…Where it standsPublic proof of conceptCONNECTS TOSame weaknessCross-site scripting (CWE-79)399 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

@enspirit/elo: Amber, patch this week. A vulnerability in Elo's JavaScript emitter allows an attacker to execute arbitrary Node.js or browser code via unfiltered `.constructor` member access. This could lead to browser script execution and session compromise, or arbitrary Node.js code execution on hosts.

The flaws

  • CVE-2026-44267: Elo JavaScript emitter has sandbox escape to arbitrary Node.js / browser code execution via unfiltered `.constructor` member access (CVSS 9.8)
  • CVE-2026-44266: Elo Ruby backend has Remote Code Execution via unescaped `#{...}` interpolation in emitted string literals and subtype-constraint labels (CVSS 9.8)
  • CVE-2026-44265: Elo backends have code injection via unvalidated emission of programmatic AST fields (CVSS 7.4)

The fix

Upgrade @enspirit/elo: 1.0.1 or later on your release line

Who is exposed: {'products': ['Elo'], 'packages': [{'ecosystem': 'npm', 'name': '@enspirit/elo', 'versions': ['<= 1.0.0']}]}

Where it stands

  • Public proof of concept

Connects to

Why it is Amber

  • CVSS 9.8 critical
  • Public exploit or proof of concept referenced
  • Remotely exploitable without logging in
  • On your watchlist: node.js, npm

Affected packages

PackageEcosystemVulnerableFixed in
@enspirit/elonpm<= 1.0.01.0.1

References

Original description

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.

Last activity 3 Nov 2026. Patch Forecast updates every hour.