
このリポジトリは厳密に教育目的のみで提供されています。 この脆弱性を発見したわけではありません。これは、公開されたセキュリティ問題のデモと解説です。この知識を利用して許可なく脆弱なシステムを悪用することは、違法かつ非倫理的です。
本番アプリでNext.jsを使用しているなら、今すぐ手を止めてバージョン番号を確認してください。認証システム全体を無防備にする深刻なミドルウェア脆弱性があります。
この深刻な脆弱性は責任を持って開示され、パッチが提供されています。そのため、開発者が問題を理解し、システムを保護するのに役立つことを目的として、この教育用デモを共有しています。
問題は、Next.jsが内部のx-middleware-subrequest HTTPヘッダーをどのように処理するかにあります。このヘッダーはミドルウェアの再帰呼び出しを防ぐために設計されましたが、攻撃者はこれを操作してミドルウェアの実行を完全にバイパスできます。
これが何を意味するか考えてみてください。ミドルウェアベースのセキュリティはすべて無効化される可能性があります:
この脆弱性が実際に悪用され、管理パネル、ユーザーデータ、さらには財務情報にアクセスされたという報告があります。一部の組織は気付かないうちに機密データが暴露されていました。
このリポジトリには以下が含まれています:
# Strips the problematic header
proxy_set_header x-middleware-subrequest "";
# Does the same thing for Apache users
RequestHeader unset x-middleware-subrequest
// Quick middleware fix until you can properly update
app.use((req, res, next) => {
delete req.headers['x-middleware-subrequest'];
next();
});
この脆弱性は、重要なセキュリティ原則を改めて認識させます:
より安全なNext.jsアプリを構築するために、これらのリソースを確認してください:
このリポジトリは、教育目的のみでCVE-2025-29927の技術的な説明とデモを提供します。すべての情報は、適切にパッチが適用された公開済みの詳細に基づいています。ソフトウェアにセキュリティ脆弱性を発見した場合は、常に責任ある開示プラクティスに従ってください:
この脆弱性は、よく設計されたフレームワークでも重大なセキュリティ欠陥が存在し得ることを示しています。常に警戒を怠らず、依存関係のアップデートを定期的なワークフローに組み込みましょう。
質問や、これらの修正の実装に関して支援が必要な場合は、お気軽にお問い合わせください!