Next.js の脆弱性レポート(CVE-2026-44578)
調査日: 2026-05-09 ステータス: Published (GitHub Advisory: Reviewed 2026-05-06)
概要
セルフホスト環境の Next.js アプリケーションにおいて、WebSocket アップグレードリクエストを介した SSRF(Server-Side Request Forgery)の脆弱性が存在する。攻撃者は WebSocket アップグレードを利用して内部サービスやクラウドメタデータエンドポイント(169.254.169.254)へのリクエストをプロキシさせることが可能。HTTP リクエストに適用されていた安全性チェックが WebSocket アップグレードには適用されていなかった。
基本情報
| 項目 | 内容 |
|---|---|
| CVE ID | CVE-2026-44578 |
| GHSA ID | GHSA-c4j6-fc7j-m34r |
| CVSS v3.1 スコア | 8.6 (High) |
| CVSS ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| CWE | 情報なし |
| 公開日 | 2026-05-06 |
| 最終更新日 | 2026-05-06 |
影響を受けるソフトウェア
Next.js (npm)
- ベンダー: Vercel
- 影響バージョン:
>= 13.4.13, < 15.5.16/>= 16.0.0, < 16.2.5 - 修正バージョン: 15.5.16 / 16.2.5
脆弱性の詳細
Next.js のリバースプロキシ機能において、通常の HTTP リクエストに対しては内部ネットワークやクラウドメタデータへのアクセスを防ぐ安全性チェックが実装されていたが、WebSocket アップグレードリクエストに対しては同等のチェックが適用されていなかった。攻撃者はこの不整合を悪用し、WebSocket の Upgrade ヘッダーを含むリクエストを送信することで、セルフホスト環境の Next.js サーバーを踏み台として内部サービスやクラウドメタデータエンドポイント(例: http://169.254.169.254/latest/meta-data/)にアクセスできる。これにより、クラウド環境の IAM 認証情報やインスタンスメタデータが漏洩する可能性がある。Vercel ホスティング環境はこの脆弱性の影響を受けない。
対策・推奨事項
- Next.js を 15.5.16 以降または 16.2.5 以降にアップグレードする
- WebSocket アップグレードリクエストに対しても HTTP リクエストと同等の安全性チェック(宛先アドレスの検証)を適用する修正が含まれている
- セルフホスト環境では、リバースプロキシやファイアウォールレベルで内部ネットワークおよびメタデータエンドポイントへのアクセスを制限することを推奨
- クラウド環境では IMDSv2(Instance Metadata Service v2)を有効化し、メタデータへのアクセスにトークンを要求する設定を推奨
フロントエンド影響分析
Next.js はフロントエンドフレームワークであり、このセクションは必須。
| 構成 | 影響度 | 対処要否 | 備考 |
|---|---|---|---|
| SPA(クライアントサイドのみ) | ⚪ なし | 対処不要 | WebSocket SSRF はサーバーサイドの問題であり、ブラウザのセキュリティサンドボックスにより防止される |
| SSR(サーバーサイドレンダリング) | 🔴 高 | 要対処 | セルフホスト Node.js サーバーが直接影響を受け、クラウドメタデータの漏洩はクリティカル |
判定の考え方
- ブラウザのセキュリティ境界: ブラウザは Same-Origin Policy により、クライアントサイドの JavaScript から内部ネットワークやクラウドメタデータエンドポイントへ直接 WebSocket 接続を確立することはできない。SSRF はサーバー側でのみ成立する攻撃であり、SPA 構成では攻撃面が存在しない。
- 実行環境: SSR 構成ではセルフホストの Node.js サーバーがリクエストを処理するため、WebSocket アップグレードリクエストがサーバープロセスを経由して内部ネットワークに到達する。Vercel ホスティングではインフラ側で保護されているが、セルフホスト環境では直接的な脅威となる。
- 攻撃ベクター: 攻撃者は認証不要(PR:N)でネットワーク経由(AV:N)から攻撃可能であり、スコープ変更(S:C)により Next.js サーバーだけでなく内部ネットワーク上の他のサービスにも影響が波及する。クラウドメタデータの漏洩は認証情報の窃取につながるため、機密性への影響は高い(C:H)。
- ランタイム vs ビルドタイム: この脆弱性はランタイムにおける WebSocket アップグレード処理の問題であり、ビルドタイムには影響しない。本番環境のサーバーが稼働中に攻撃される可能性があるため、速やかなアップデートが必要である。
参考リンク
情報ソース
| ソース | 取得状況 |
|---|---|
| NVD (NIST) | ❌ 取得不可 |
| GitHub Advisory | ✅ 取得済み |
| Web検索 | ✅ 取得済み |