---
title: "Elo 1.0.1 未満（CVE-2026-44266・44267）: 式の文字列から Ruby と JavaScript のコード実行に至る 2 件（CVSS v3.1 9.8）。実際の影響範囲は未確認"
url: https://n-t-p.io/worldsecurity/articles/elo-cve-2026-44266-44267-code-injection-ruby-and-javascript-backends
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 緊急
cve: CVE-2026-44266, CVE-2026-44267
---

# Elo 1.0.1 未満（CVE-2026-44266・44267）: 式の文字列から Ruby と JavaScript のコード実行に至る 2 件（CVSS v3.1 9.8）。実際の影響範囲は未確認

> **TL;DR:** @enspirit/elo 1.0.1 未満で、細工した式から Ruby の文字列展開（CVE-2026-44266）や JavaScript の .constructor 連鎖（CVE-2026-44267）を通じてコードを実行できる。CVSS v3.1 は 2 件とも 9.8。実際の影響範囲は未確認。

**要点**
- Ruby 出力では # を無害化せず #{...} が実行され、JavaScript 出力では .constructor.constructor で Function に到達できる。どちらも攻撃者が式を渡せることが前提。
- 認証不要（PR:N）・CVSS v3.1 9.8（GitHub 評価）のため critical。KEV 掲載なし、EPSS は約 0.8〜1.0%。
- 影響は @enspirit/elo 1.0.0 以下、修正版は 1.0.1。更新を計画し、利用者入力を式として変換しない制限は有効性が未確認（推定）。
- 悪用の有無・PoC の中身・利用規模・修正コミットの中身・NVD の最終評価は未確認。

Elo（no-code ツール向けの関数型の式言語。npm パッケージ @enspirit/elo）の 1.0.1 より前の版に、細工した式を渡すとコードを実行できる欠陥が 2 件登録されました（CVE-2026-44266・CVE-2026-44267）。NVD への登録は 2026-11-03（状態は Received）、評価元は GitHub（CNA）で、NVD 自身の評価はまだありません。

## 何が起きるか
- **CVE-2026-44266（Ruby 出力）**: Elo の式を Ruby のコードに変換する処理で、文字列中の `#` を無害化していません。そのため、式に含まれる `#{...}` が Ruby の文字列展開として実行され、バッククォートを使うとシェルコマンドまで実行できます。対象は Ruby 向けに出力する経路（/try の Ruby 出力、`eloc -t ruby`、`defaultFormats.elo.parse()` の後の Ruby 出力）です。JavaScript・Python・SQL への出力は、この経路の影響を受けないとされています。
- **CVE-2026-44267（JavaScript 出力）**: 通常の文字列として渡した式で `.constructor.constructor` をたどると、JavaScript の Function に到達できます。変換処理がこの種のプロパティ名を拒否せず、出力される JavaScript にそのまま入るためです。生成されたコードがホスト側で実行され、公開されている試用ページ（elo-lang.org/try）ではブラウザ内のスクリプト実行、ライブラリや CI を動かすサーバーでは任意の Node.js コード実行になり得ます。
- 2 件とも、攻撃者が Elo の式を書ける（または式の文字列を差し込める）状態が前提です。

## 数値と severity
- CVSS v3.1: 2 件とも 9.8（CRITICAL、AV:N/AC:L/PR:N/UI:N、機密性・完全性・可用性すべて高）。評価元は GitHub（Secondary）です。
- 認証不要（PR:N）で CVSS 9 以上のため、基準どおり severity は critical とします。ただし実際の影響は、Elo を取り込んだ製品が利用者の入力をどう扱うかに左右されます（推定）。
- CISA の KEV には載っていません（確認時点の公開カタログ）。EPSS は 44266 が 0.995%、44267 が 0.833%（11/4 時点の FIRST の値）です。NVD に付いた SSVC の記録では 44266 の悪用状況は「poc」とされています。

## 修正の状況
- 2 件とも、GitHub の勧告（GHSA-7w38-ggh5-v542・GHSA-33r5-xmm8-v6x5）で、影響は @enspirit/elo の 1.0.0 以下、修正版は 1.0.1 とされています。
- 修正コミットは NVD の参照先に示されていますが、中身の確認と、他の言語向けパッケージが別にあるかどうかは確認できていません。

## 対策として考えられること
1. Elo を使っている場合は、@enspirit/elo を 1.0.1 以降に更新します。依存関係の中に含まれていないかも確認します。
2. 更新までの間は、利用者から受け取った文字列を Elo の式として変換・実行しない、Ruby 出力の経路を使わない、といった制限が考えられます（有効性は未確認で、推定です）。
3. 試用ページ（/try）のような、式を自動で実行する画面を自分で公開している場合は、実行環境を分離します（推定）。

## 未確認の点
- 実際の悪用の有無、公開済みの概念実証（PoC）の中身（SSVC の記録は参考値です）。
- Elo を組み込んだ製品や、インターネットに公開されている台数など、利用規模。
- 修正コミットの内容、1.0.1 のリリース日、ほかの回避策の有無。
- NVD の最終評価（現在は GitHub の評価のみ）。


## 出典
- [NVD CVE-2026-44266](https://nvd.nist.gov/vuln/detail/CVE-2026-44266) — NIST NVD
- [NVD CVE-2026-44267](https://nvd.nist.gov/vuln/detail/CVE-2026-44267) — NIST NVD
- [GitHub Security Advisory GHSA-7w38-ggh5-v542（Ruby 出力・内容の概要のみ確認）](https://github.com/enspirit/elo/security/advisories/GHSA-7w38-ggh5-v542) — GitHub
- [GitHub Security Advisory GHSA-33r5-xmm8-v6x5（JavaScript 出力・内容の概要のみ確認）](https://github.com/enspirit/elo/security/advisories/GHSA-33r5-xmm8-v6x5) — GitHub
- [FIRST EPSS API](https://api.first.org/data/v1/epss?cve=CVE-2026-44266,CVE-2026-44267) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/elo-cve-2026-44266-44267-code-injection-ruby-and-javascript-backends