概要
Astroのサーバーサイドレンダリングパイプラインにおいて、defineScriptVars 関数が define:vars ディレクティブ経由でインラインの <script> タグに値を注入する際、大文字小文字を区別する正規表現 /<\/script>/g でサニタイズしています。HTMLパーサーは </Script> や </script > なども終了タグとして認識するため、サニタイズをバイパスしてXSSが可能です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| スコア | 6.1(Medium) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権 | なし |
| ユーザー関与 | 要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| astro | withastro | < 6.1.6 |
修正バージョンと回避策
- 修正バージョン: Astro 6.1.6
define:varsでユーザー入力を注入している場合は注意が必要です
関連リンク
データソース: NVD (NIST), GitHub Advisory Database, OSV (Google) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
