<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 05 Nov 2026 05:10:05 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-44267</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-44267</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-44267</guid>
    </item>
    <item>
      <title>GHSA-33r5-xmm8-v6x5 — Elo JavaScript emitter has sandbox escape to arbitrary Node.js / browser code execution via unfiltered `.constructor` m…</title>
      <link>https://db.gcve.eu/vuln/ghsa-33r5-xmm8-v6x5</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @enspirit/elo&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;An unauthenticated attacker who controls a string passed to any Elo JavaScript-emission path — `defaultFormats.elo.parse()`, the `bin/elo` CLI, or the live browser playground at `elo-lang.org/try` — can execute arbitrary code in the host JavaScript runtime. A payload built from the `.constructor.constructor` chain compiles, without modification, to a live `Function` invocation in the emitted JavaScript, escaping any sandbox assumption around &amp;#34;Elo is a safe data/DSL language.&amp;#34;&lt;/p&gt;
&lt;p&gt;### Vulnerable sink and root cause&lt;/p&gt;
&lt;p&gt;Three interacting sites in `src/` produce the bug at commit `749af7b`:&lt;/p&gt;
&lt;p&gt;1. **`src/transform.ts:144–158`** — the `member_access` handler allows access on types `any`, `object`, or `array` without filtering the property name. This is the only place an integrator could have plugged a denylist.
2. **`src/compilers/javascript.ts:210`** — the JS emitter writes `${objectExpr}.${ir.property}` verbatim into the output, so any property name that survives the transform step flows unescaped into emitted JavaScript.
3. **`src/parser.ts:163–170, 748–750`** — the parser accepts `constructor` (and other JS meta-property names) as an ordinary identifier, so `.constructor` clears type-checking without triggering any warning.&lt;/p&gt;
&lt;p&gt;Combined, the Elo expression `({}).constructor.constructor(&amp;#39;…&amp;#39;)()` compiles to a live `Function(&amp;#39;…&amp;#39;)()` call in the emitted JS, executing in the realm of whichever sink runs the compiled code.&lt;/p&gt;
&lt;p&gt;### Attack surfaces&lt;/p&gt;
&lt;p&gt;All three surfaces share the same r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @enspirit/elo&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;An unauthenticated attacker who controls a string passed to any Elo JavaScript-emission path — `defaultFormats.elo.parse()`, the `bin/elo` CLI, or the live browser playground at `elo-lang.org/try` — can execute arbitrary code in the host JavaScript runtime. A payload built from the `.constructor.constructor` chain compiles, without modification, to a live `Function` invocation in the emitted JavaScript, escaping any sandbox assumption around &amp;#34;Elo is a safe data/DSL language.&amp;#34;&lt;/p&gt;
&lt;p&gt;### Vulnerable sink and root cause&lt;/p&gt;
&lt;p&gt;Three interacting sites in `src/` produce the bug at commit `749af7b`:&lt;/p&gt;
&lt;p&gt;1. **`src/transform.ts:144–158`** — the `member_access` handler allows access on types `any`, `object`, or `array` without filtering the property name. This is the only place an integrator could have plugged a denylist.
2. **`src/compilers/javascript.ts:210`** — the JS emitter writes `${objectExpr}.${ir.property}` verbatim into the output, so any property name that survives the transform step flows unescaped into emitted JavaScript.
3. **`src/parser.ts:163–170, 748–750`** — the parser accepts `constructor` (and other JS meta-property names) as an ordinary identifier, so `.constructor` clears type-checking without triggering any warning.&lt;/p&gt;
&lt;p&gt;Combined, the Elo expression `({}).constructor.constructor(&amp;#39;…&amp;#39;)()` compiles to a live `Function(&amp;#39;…&amp;#39;)()` call in the emitted JS, executing in the realm of whichever sink runs the compiled code.&lt;/p&gt;
&lt;p&gt;### Attack surfaces&lt;/p&gt;
&lt;p&gt;All three surfaces share the same r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-33r5-xmm8-v6x5</guid>
    </item>
  </channel>
</rss>
