30秒で判断
- 対応すべき人:
handlebars(npm)でユーザー入力を含むテンプレートをコンパイルしている方 - 対応不要な人: Handlebarsを使用していない方、信頼できないテンプレート文字列をコンパイルしていない方、修正版(4.7.10以降)へ更新済みの方
- 確認コマンド:
npm ls handlebarsでインストール済みバージョンを確認
概要
CVE-2026-106446 は、Node.js向けテンプレートエンジン Handlebars に存在するJavaScriptインジェクションの脆弱性です。
Handlebarsでは過去に、テンプレートのコンパイル処理に起因するJSインジェクション(CVE-2026-33937)が修正されています。今回の脆弱性は、コンパイル時に生成されるAST(抽象構文木)のノードの型を混同させることで、この過去の修正をバイパスできてしまうというものです。信頼できないテンプレート文字列がコンパイル処理に渡る構成になっている場合、任意のJavaScriptコードが実行される可能性があります。
同時に、オブジェクトの自己プロパティ判定をバイパスする別経路の脆弱性(CVE-2026-106445)も公開されています。両者は根本原因が異なるため、それぞれ個別に修正されています。
CVSSベクトル
| 項目 | 内容 |
|---|---|
| CVSSスコア | Critical評価(GHSA基準) |
| 深刻度評価元 | GHSA(GitHub Advisory Database) |
| 攻撃元 | ネットワーク(テンプレート文字列の入力経由) |
| 前提条件 | 信頼できない入力をテンプレートとしてコンパイルする構成であること |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| handlebars | handlebars-lang | < 4.7.10 |
修正バージョンと回避策
handlebarsを4.7.10以降へアップデートしてください。- アップデートが難しい場合は、ユーザー入力や外部から取得した文字列を直接テンプレートとしてコンパイルしない構成に見直すことを推奨します。
関連リンク
データソース: GitHub Advisory Database, NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
