30秒で判断
対応すべき人:
- nuxtをv3.21.6以前またはv4.4.6以前で使用しているWebアプリケーションの開発者・運用者
- SSR(サーバーサイドレンダリング)モードでNuxtを使用している環境
navigateToやreloadNuxtAppAPIを外部入力に基づいて呼び出している実装
対応不要な人:
- nuxt v4.4.7以降またはv3.21.7以降を使用している(修正済み)
- nuxtを使用していない
確認コマンド:
npm list nuxt
cat package.json | grep '"nuxt"'
概要
Vue.jsベースのフルスタックフレームワーク「Nuxt」のクライアントナビゲーションURL処理ロジックに、3つの異なる脆弱性が確認されました:
- SSRオープンリダイレクト(
navigateTo):hasProtocolによる外部URL判定がパス正規化バイパス(/..//evil.com、/.//evil.com、/%2e%2e//evil.com等)で回避可能 - クライアントサイドスクリプト実行(
navigateToのopenオプション):openオプションを通じてJavaScriptプロトコルURLが実行可能 - プロトコル相対バイパス(
reloadNuxtApp): プロトコル相対URL(//evil.com等)の検証が不十分
これらの脆弱性は、navigateToおよびreloadNuxtAppという公開APIを通じて、外部からの入力に基づいたナビゲーションを行うアプリケーションで悪用される可能性があります。
CVSSベクトル
CVSS v4スコア:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:L/SA:N
| 項目 | 値 | 説明 |
|---|---|---|
| Attack Vector (AV) | Network | ネットワーク経由 |
| Attack Complexity (AC) | Low | 攻撃の複雑さは低い |
| Privileges Required (PR) | None | 認証不要 |
| User Interaction (UI) | Active | ユーザー操作が必要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| nuxt | Nuxt Team | 3.21.6以前 |
| nuxt | Nuxt Team | 4.4.6以前 |
修正バージョンと回避策
推奨対応: nuxt v4.4.7またはv3.21.7へのアップデート。
npm install nuxt@latest
# または特定バージョン
npm install nuxt@3.21.7 # Nuxt 3系を使用している場合
npm install nuxt@4.4.7 # Nuxt 4系を使用している場合
回避策: navigateToやreloadNuxtAppに外部から受け取ったURLを直接渡している場合は、サーバーサイドで許可リスト(allowlist)ベースのURL検証を追加する。
関連リンク
データソース: OSV (Google), GitHub Advisory Database, NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
