<?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:06 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-44266</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-44266</link>
      <description>&lt;p&gt;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.&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, 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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-44266</guid>
    </item>
    <item>
      <title>GHSA-7w38-ggh5-v542 — Elo Ruby backend has Remote Code Execution via unescaped `#{...}` interpolation in emitted string literals and subtype-…</title>
      <link>https://db.gcve.eu/vuln/ghsa-7w38-ggh5-v542</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;Elo&amp;#39;s Ruby backend emits attacker-controlled text into Ruby double-quoted strings without escaping the `#` character. Because `#` begins Ruby&amp;#39;s interpolation sequences — `#{expr}`, `#@ivar`, `#@@cvar`, `#$gvar` — and any expression wrapped in `#{...}` may use backticks for shell execution, an Elo program that contains a crafted string literal or a labelled subtype constraint compiles to Ruby that evaluates attacker-chosen Ruby, and through backticks runs attacker-chosen shell commands, at runtime.&lt;/p&gt;
&lt;p&gt;The same Elo source compiled to JavaScript, Python, or SQL is benign, so the bug also breaks the cross-target portability guarantee the rest of the compiler honours.&lt;/p&gt;
&lt;p&gt;### Vulnerable sinks&lt;/p&gt;
&lt;p&gt;Two sinks exist in `src/compilers/ruby.ts` at commit `749af7b`:&lt;/p&gt;
&lt;p&gt;1. **String-literal emitter — lines 180–184.**
   The emitter escapes backslash, double quote, and control characters, but not `#`. Any `#{...}` sequence in an Elo string literal flows straight into the emitted Ruby source.&lt;/p&gt;
&lt;p&gt;2. **Labelled subtype-constraint branch — lines 405–412.**
   The error message passed to `p_fail(p, &amp;#34;...&amp;#34;)` is wrapped in a Ruby double-quoted string with no escape pass at all. Because the parser at `src/parser.ts:1339–1348` accepts single-quoted Elo strings as constraint labels, a label such as `&amp;#39;#{` `` `id` `` `}&amp;#39;` flows unchanged into the emitted Ruby.&lt;/p&gt;
&lt;p&gt;### Attack surfaces&lt;/p&gt;
&lt;p&gt;All three surfaces share the same root cause (the missing `#` escape in the Ruby double-quoted-string emission path) and…&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;Elo&amp;#39;s Ruby backend emits attacker-controlled text into Ruby double-quoted strings without escaping the `#` character. Because `#` begins Ruby&amp;#39;s interpolation sequences — `#{expr}`, `#@ivar`, `#@@cvar`, `#$gvar` — and any expression wrapped in `#{...}` may use backticks for shell execution, an Elo program that contains a crafted string literal or a labelled subtype constraint compiles to Ruby that evaluates attacker-chosen Ruby, and through backticks runs attacker-chosen shell commands, at runtime.&lt;/p&gt;
&lt;p&gt;The same Elo source compiled to JavaScript, Python, or SQL is benign, so the bug also breaks the cross-target portability guarantee the rest of the compiler honours.&lt;/p&gt;
&lt;p&gt;### Vulnerable sinks&lt;/p&gt;
&lt;p&gt;Two sinks exist in `src/compilers/ruby.ts` at commit `749af7b`:&lt;/p&gt;
&lt;p&gt;1. **String-literal emitter — lines 180–184.**
   The emitter escapes backslash, double quote, and control characters, but not `#`. Any `#{...}` sequence in an Elo string literal flows straight into the emitted Ruby source.&lt;/p&gt;
&lt;p&gt;2. **Labelled subtype-constraint branch — lines 405–412.**
   The error message passed to `p_fail(p, &amp;#34;...&amp;#34;)` is wrapped in a Ruby double-quoted string with no escape pass at all. Because the parser at `src/parser.ts:1339–1348` accepts single-quoted Elo strings as constraint labels, a label such as `&amp;#39;#{` `` `id` `` `}&amp;#39;` flows unchanged into the emitted Ruby.&lt;/p&gt;
&lt;p&gt;### Attack surfaces&lt;/p&gt;
&lt;p&gt;All three surfaces share the same root cause (the missing `#` escape in the Ruby double-quoted-string emission path) and…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-7w38-ggh5-v542</guid>
    </item>
  </channel>
</rss>
