【活用ガイド】

JVNDB-2026-009689

HandlebarsjsのHandlebarsにおける例外的な状態のチェックに関する脆弱性

概要

Handlebarsはユーザーがセマンティックテンプレートを構築するために必要な機能を提供します。バージョン4.0.0から4.7.8までの間、Handlebarsテンプレートに未登録のデコレーター(例:`{{*n}}`)を参照するデコレーター構文が含まれている場合、コンパイルされたテンプレートは`lookupProperty(decorators, "n")`を呼び出し、これは`undefined`を返します。ランタイムはその結果を即座に関数として呼び出そうとし、ハンドルされていない`TypeError: ... is not a function`が発生してNode.jsプロセスがクラッシュします。`try/catch`で呼び出しをラップせずにユーザー提供のテンプレートをコンパイルするすべてのアプリケーションは、単一リクエストによるサービス拒否攻撃に対して脆弱です。バージョン4.7.9でこの問題は修正されました。いくつかの回避策があります。コンパイルとレンダリングを`try/catch`でラップしてください。テンプレートを`compile()`に渡す前に入力を検証し、デコレーターを使用していない場合にはデコレーター構文(`{{*...}}`)を含むテンプレートを拒否してください。プリコンパイルのワークフローを使用し、ビルド時にテンプレートをコンパイルしてプリコンパイル済みテンプレートのみを提供し、リクエスト時に`compile()`を呼び出さないことが推奨されます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Handlebarsjs
  • Handlebars 4.0.0 以上 4.7.9 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 例外的な状態における不適切なチェック(CWE-754) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-33939
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-33939
  2. 関連文書 : Release v4.7.9  handlebars-lang/handlebars.js  GitHub
  3. 関連文書 : Fix security issues  handlebars-lang/handlebars.js@68d8df5  GitHub
更新履歴

  • [2026年04月02日]
      掲載