概要
Next.jsにおいて、Middlewareによる認可チェックに依存して動的ルートを保護しているアプリケーションに、認可バイパスの脆弱性が存在します。攻撃者は細工されたクエリパラメータを使用することで、ページが受け取る動的ルートの値を変更しながらも、URLのパス部分は変わらないようにすることが可能です。
これにより、Middlewareの認可チェックを通過せずに保護されたコンテンツがレンダリングされる状況が発生します。認可ロジックをMiddlewareのみに依存している場合、想定外のデータやページへのアクセスを許してしまう恐れがあります。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 8.1(High) |
| ベクトル | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| CWE | 認可バイパス |
| 攻撃元区分(AV) | ネットワーク |
| 攻撃条件の複雑さ(AC) | 低 |
| 必要な特権レベル(PR) | 低 |
| ユーザー関与(UI) | 不要 |
| スコープ(S) | 変更なし |
| 機密性への影響(C) | 高 |
| 完全性への影響(I) | 高 |
| 可用性への影響(A) | なし |
影響を受けるソフトウェア
- Next.js: Middlewareで動的ルートの認可制御を行っているアプリケーション
- v15系: 15.5.16 未満
- v16系: 16.2.5 未満
修正バージョンと回避策
- Next.js v15.5.16 または v16.2.5 へアップデートしてください
- アップデートが即座に困難な場合、Middleware以外の層(サーバーサイドのページコンポーネントやAPIルート内)でも認可チェックを実施する多層防御を推奨します
- 動的ルートパラメータの値がMiddlewareとページコンポーネントで一致しているかの検証も有効です
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
