影響
攻撃者は、Next.js アプリケーションのセキュリティ ロジックと承認チェックをバイパスし、制限付きリソース [S1] へのフル アクセスを取得する可能性があります。この脆弱性は、特権を必要とせず、ユーザーの操作なしでネットワーク経由で悪用できるため、CVSS スコア 9.1 で重大として分類されています ([S2])。
根本原因
この脆弱性は、Next.js がそのミドルウェア アーキテクチャ [S1] 内で内部サブリクエストを処理する方法に起因します。承認のためにミドルウェア (CWE-863) に依存するアプリケーションは、内部ヘッダー [S2] の起源を適切に検証しない場合に影響を受けます。具体的には、外部の攻撃者はリクエストに x-middleware-subrequest ヘッダーを含めて、フレームワークをだましてリクエストをすでに承認された内部操作として扱い、ミドルウェアのセキュリティ ロジック [S1] を事実上スキップする可能性があります。
FixVibe がそれをテストする方法
FixVibe には、これがゲートされたアクティブ チェックとして含まれるようになりました。ドメイン検証後、active.nextjs.middleware-bypass-cve-2025-29927 は、ベースライン リクエストを拒否する Next.js エンドポイントを探し、ミドルウェア バイパス条件に対して狭い制御プローブを実行します。これは、CVE-2025-29927 と一致する方法で、保護されたルートが拒否からアクセス可能に変更された場合にのみ報告し、修正プロンプトは、パッチが適用されるまで、Next.js のアップグレードとエッジでの内部ミドルウェア ヘッダーのブロックに焦点を当てた修復を続けます。
具体的な修正
- Next.js をアップグレードします: アプリケーションをパッチ適用バージョン 12.3.5、13.5.9、14.2.25、または 15.2.3 [S1、S2] に直ちに更新します。
- 手動ヘッダー フィルタリング: すぐにアップグレードできない場合は、Next.js サーバー [S1] に到達する前に、すべての受信外部リクエストから
x-middleware-subrequestヘッダーを削除するように Web アプリケーション ファイアウォール (WAF) またはリバース プロキシを構成します。 - Vercel デプロイメント: Vercel でホストされるデプロイメントは、プラットフォームのファイアウォール [S2] によってプロアクティブに保護されます。
