つみかさね

CVE-2026-33938

High(8.1)

CVE-2026-33938 — Handlebars.js @partial-block経由のリモートコード実行

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

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

製品ベンダー影響バージョン
Handlebars.jshandlebars-langv4.0.0 - v4.7.8
CVEHandlebars.jsnpmRCE@partial-blockCWE-94CWE-843

概要

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

Handlebars.js の テンプレート システム で は、@partial-block は パーシャル テンプレート 内 で 親 テンプレート の コンテンツ を 参照 する ため の 特殊 な 変数 です。この @partial-block は テンプレート の データ コンテキスト に 格納 されます が、ヘルパー 関数 から この データ コンテキスト に アクセス し、@partial-block の 値 を 書き換える こと が 可能 です。

攻撃者 が カスタム ヘルパー を 通じて @partial-block の 値 を 細工 した AST オブジェクト に 置き換える と、Handlebars.js の コンパイラ が この AST を コンパイル し 実行 する ため、結果 として 任意 の JavaScript コード が サーバー 上 で 実行 される こと に なります。

この 脆弱性 は CWE-94(コード インジェクション)および CWE-843(型 の 混同)に 分類 されます。CVSS スコア は 8.1 と 評価 されて おり、High に 分類 される 深刻 な 脆弱性 です。

攻撃 が 成立 する ため に は、攻撃者 が テンプレート 内 で 使用 される ヘルパー 関数 を 制御 できる か、または ヘルパー 関数 が ユーザー 入力 に 基づいて データ コンテキスト を 操作 する 必要 が あります。サーバーサイド レンダリング を 行う アプリケーション で カスタム ヘルパー を 登録 して いる 場合、ヘルパー 内 で の データ コンテキスト 操作 が 安全 で ある か 監査 する こと が 重要 です。

特に、ユーザー が 提供 した データ が ヘルパー 関数 の 引数 として 渡される ケース や、ヘルパー 関数 が コンテキスト オブジェクト に 対して 任意 の 書き込み を 行う ケース が 存在 する 場合、この 脆弱性 の 影響 を 受ける 可能性 が 高い です。速やか な アップデート を 推奨 します。

CVSSベクトル

項目
CVSSスコア8.1
深刻度High
CWECWE-94 (コードインジェクション) / CWE-843 (型の混同)

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

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

修正バージョンと回避策

  • 修正バージョン: Handlebars.js v4.7.9 へ アップデート する こと で この 脆弱性 は 修正 されます。npm update handlebars または npm install handlebars@4.7.9 で アップデート を 実施 して ください。
  • 暫定回避策 1: ランタイム 専用 ビルド(handlebars/runtime)を 使用 して ください。ランタイム 専用 ビルド で は compile() 関数 が 含まれない ため、細工 した AST が コンパイル される パス が 存在 しません。
  • 暫定回避策 2: 登録 されて いる カスタム ヘルパー 関数 を 監査 し、データ コンテキスト に 対する 任意 の 書き込み が 行われて いない こと を 確認 して ください。特に options.datathis を 通じた 書き込み に 注意 が 必要 です。
  • 暫定回避策 3: テンプレート の レンダリング を サンドボックス 環境 で 実行 し、万一 の コード 実行 が 発生 した 場合 で も、ホスト システム へ の 影響 を 最小限 に 抑える 構成 を 検討 して ください。

関連リンク


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

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