つみかさね

CVE-2026-33941

High(8.2)

CVE-2026-33941 — Handlebars.js CLIプリコンパイラのコードインジェクション

公開日: 2026-03-29データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
Handlebars.jshandlebars-langv4.0.0 - v4.7.8
CVEHandlebars.jsnpmコードインジェクションCLICWE-79CWE-94CWE-116

概要

Handlebars.js は JavaScript の テンプレート エンジン として npm エコシステム で 広く 利用 されて いる ライブラリ です。バージョン 4.0.0 から 4.7.8 まで の Handlebars.js に おいて、CLI プリコンパイラ に コード インジェクション の 脆弱性 が 発見 されました。

Handlebars.js の CLI プリコンパイラ は、テンプレート ファイル を 事前 に コンパイル して JavaScript ファイル として 出力 する ツール です。この プリコンパイラ は、テンプレート の ファイル名 や CLI オプション として 受け取った ユーザー 制御 可能 な 文字列 を、生成 される JavaScript コード に 直接 連結 して 出力 して いました。適切 な エスケープ 処理 が 行われて いない ため、JavaScript の 構文 上 意味 を 持つ 文字 を 含む ファイル名 や オプション を 指定 する こと で、生成 される JavaScript ファイル に 任意 の コード を 注入 する こと が 可能 です。

この 脆弱性 は CWE-79(クロスサイト スクリプティング)、CWE-94(コード インジェクション)、および CWE-116(出力 の 不適切 な エンコーディング または エスケープ)に 分類 されます。CVSS スコア は 8.2 と 評価 されて おり、High に 分類 される 深刻 な 脆弱性 です。

攻撃 の シナリオ として は、CI/CD パイプライン で テンプレート ファイル を 自動 的 に プリコンパイル する 環境 に おいて、攻撃者 が 悪意 の ある ファイル名 を 持つ テンプレート ファイル を リポジトリ に 追加 する こと で、ビルド プロセス 中 に 任意 の コード が 実行 される 可能性 が あります。また、プリコンパイル された JavaScript ファイル が ウェブ アプリケーション で 読み込まれる 場合、エンドユーザー の ブラウザ 上 で クロスサイト スクリプティング 攻撃 が 成立 する リスク も あります。

Handlebars.js の CLI プリコンパイラ を 使用 して いる プロジェクト で は、入力 として 受け付ける ファイル名 の バリデーション を 実施 する か、速やか に 修正 バージョン へ アップデート する こと が 推奨 されます。特 に、ユーザー が アップロード した ファイル を プリコンパイル する ワークフロー が 存在 する 場合 は、早急 な 対応 が 必要 です。

CVSSベクトル

項目
CVSSスコア8.2
深刻度High
CWECWE-79 (XSS) / CWE-94 (コードインジェクション) / CWE-116 (不適切なエンコーディング)

影響を受けるソフトウェア

製品ベンダー影響バージョン
Handlebars.jshandlebars-langv4.0.0 から v4.7.8 まで

修正バージョンと回避策

  • 修正バージョン: Handlebars.js v4.7.9 へ アップデート する こと で この 脆弱性 は 修正 されます。npm update handlebars または npm install handlebars@4.7.9 で アップデート を 実施 して ください。
  • 暫定回避策 1: CLI プリコンパイラ に 渡す ファイル名 を 検証 し、JavaScript の 構文 上 意味 を 持つ 文字(シングルクォート、ダブルクォート、バックスラッシュ、セミコロン、括弧 など)を 含む ファイル名 を 拒否 する バリデーション を 追加 して ください。
  • 暫定回避策 2: プリコンパイル 処理 を サンドボックス 環境(Docker コンテナ など)で 実行 し、万一 の コード インジェクション が 発生 した 場合 で も 影響 範囲 を 限定 して ください。
  • 暫定回避策 3: CI/CD パイプライン で テンプレート ファイル の ファイル名 に 対する 許可 リスト(ホワイトリスト)を 適用 し、英数字 と ハイフン のみ を 許可 する ルール を 設定 する こと を 推奨 します。

関連リンク


データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。