つみかさね

CVE-2026-73649

Critical(9.8)

Velocity.jsのテンプレートコード実行 CVE-2026-73649:影響範囲と対応方法

公開日: 2026-09-20データソース: NVD, GitHub Advisory

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

製品ベンダー影響バージョン
velocity.jsshepherdwind< 2.1.7

対応ガイド

high|対応必須セキュリティ修正影響: 広範

推奨アクション

  1. 1velocity.js の依存バージョンを確認する
  2. 22.1.7 以降へアップデートする
  3. 3信頼できない入力をテンプレートとして評価しない設計に見直す

影響対象

velocity.js を利用するアプリの開発者・運用者

対応不要な人

  • velocity.jsを利用していない
  • 2.1.7 以降を使用している
  • 信頼できるテンプレートのみを処理している

補足

  • -過去のCVE-2026-44966の修正漏れに起因するため、旧修正版でも影響を受けます
CVEVelocity.jsコード実行npm

30秒で判断

  • 対応すべき人: velocity.js(npm)をサーバーサイドで利用し、信頼できない入力をテンプレートとして処理している
  • 対応不要な人: velocity.js を利用していない、または 2.1.7 以降を使用している
  • 確認コマンド: npm ls velocity.js で依存バージョンを確認

概要

Velocity.js はApache VelocityテンプレートエンジンのJavaScript実装です。過去のCVE-2026-44966の修正が #set 代入ハンドラのみを対象としており、プロパティ参照式(references.ts 側)のフィルタが漏れていました。このため、攻撃者が制御するテンプレートから constructor.constructor を辿ってJavaScriptのFunctionコンストラクタに到達でき、サーバープロセス上で任意のシェルコマンド実行や環境変数・クラウド資格情報へのアクセス、内部ネットワークへのアクセスにつながる可能性があります。

これはサーバーサイドテンプレートインジェクション(SSTI)の典型的な悪用パターンで、テンプレート文字列に外部入力が混入する設計では特に危険です。過去の修正が部分的だったことによる修正漏れであるため、旧修正版(CVE-2026-44966対応版)を導入済みでも本件の影響を受けます。ユーザー入力をそのままテンプレートとして評価している箇所がないか、依存バージョンと併せて確認してください。

CVSSベクトル

項目
CVSSスコア9.8(CRITICAL)
CWECWE-94(コードのインジェクション)

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

製品ベンダーバージョン
velocity.jsshepherdwind2.1.7 より前

修正バージョンと回避策

バージョン 2.1.7 以降へアップデートしてください。信頼できない入力をテンプレートとして評価する設計自体を避けることも推奨します。

関連リンク


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

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