CVE-2026-33937
Handlebars.js は AST 型の取り違えを介した JavaScript インジェクションが可能です
- 公開済み
- 2026/03/27
- 更新済み
- 2026/09/04
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/25
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 75.9%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Handlebarsは、ユーザーが意味論的なテンプレートを構築するために必要な力を提供します。バージョン4.0.0から4.7.8において、`Handlebars.compile()`はテンプレート文字列に加えて、事前に解析されたASTオブジェクトを受け入れます。`NumberLiteral` ASTノードの`value`フィールドは、引用符やサニタイズなしで生成されたJavaScriptに直接出力されます。したがって、`compile()`に巧妙に細工されたASTを供給できる攻撃者は、任意のJavaScriptを注入して実行し、サーバー上でのリモートコード実行につなげることができます。バージョン4.7.9でこの問題は修正されています。いくつかの回避策も利用可能です。`Handlebars.compile()`を呼び出す前に、入力の型を検証してください。引数が常に`string`であり、プレーンなオブジェクトやJSONデシリアライズされた値ではないことを確認してください。テンプレートがビルド時に事前コンパイルされる場合は、サーバー上でHandlebarsのランタイム専用ビルド(`handlebars/runtime`)を使用してください。`compile()`は利用できなくなります。
ソース
4- CVE-2026-33937エクスプロイト
Python POC、Handlebars.js AST Injection RCE 用エクスプロイト。影響を受けるのは Handlebars.js バージョン 4.0.0 から 4.7.8 です。CVSS スコア: 9.8 Critical。
# CVE-2026-33937の概念実証エクスプロイト CVE-2026-33937の概念実証エクスプロイト。Node.jsにおけるリモートコード実行につながるHandlebars ASTインジェクションの脆弱性です。巧妙に細工されたASTペイロードを実証し、緩和策のガイダンスを提供します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。