30秒で判断
- 対応すべき人: Astro 6.4.6 未満を SSR モードで運用し、
export const prerender = trueを付けた/404または/500エラーページを使っているアプリの利用者 - 対応不要な人: Astro を使っていない、静的サイト(SSGのみ)で運用している、6.4.6 以降を使用中、または信頼できるリバースプロキシで
Hostヘッダーを固定している場合 - 確認コマンド:
npm ls astroで解決済みバージョンを確認
概要
Astro の SSR アプリでは、プリレンダー済みのエラーページ(/404 や /500)を使う構成の場合、エラー発生時にそのページを実行時に HTTP で取得します。この取得先 URL は request.url から導出され、オリジン部分は受信リクエストの Host ヘッダーに依存します。
このため、攻撃者が Host ヘッダーを操作すると、Astro サーバに 本来意図しない宛先へリクエストを送信させることができ、サーバサイドリクエストフォージェリ(SSRF)につながります。クラウド環境ではメタデータエンドポイントなど内部サービスへの到達に悪用され得る点に注意が必要です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSS スコア | 7.5(High) |
| 攻撃元区分(AV) | ネットワーク |
| 攻撃条件の複雑さ(AC) | 高 |
| 必要な権限(PR) | なし |
| CWE | CWE-918(Server-Side Request Forgery) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン | 修正バージョン |
|---|---|---|---|
| astro | withastro | < 6.4.6(SSR構成) | 6.4.6 |
修正バージョンと回避策
- 修正: Astro 6.4.6 以降へアップデート
- 回避策: リバースプロキシ/ロードバランサ側で
Hostヘッダーを許可ドメインに固定する。プリレンダー済みエラーページの利用を見直す - 確認方法:
npm ls astroでバージョンを確認
関連リンク
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
