Urgent: Patch Your Next.js for Authorization Bypass (CVE-2025-29927)
2025/03/24 SecurityOnline — フルスタック Web アプリケーションの迅速かつ効率的な構築を支援する、人気の React フレームワーク Next.js の、深刻なセキュリティ脆弱性が対処された。世界の大企業などでも使用される Next.js は、最新の React 機能の拡張と、強力な Rust ベース JavaScript ツールの統合により、フルスタック Web アプリケーションを作成する一方で、ビルドの構築時間を大幅に短縮すると評価されている。

その Next.js の、最新のセキュリティ・アドバイザリによると、開発者による速やかな対応が必要となる、深刻な認証バイパスの脆弱性が判明したとのことだ。
アドバイザリには、「この脆弱性 CVE-2025-29927 (CVSS:9.1) は、Next.js ミドルウェア内の欠陥に起因する。このミドルウェアで認証チェックが行われるケースにおいて、Next.js アプリケーション内で認証チェックがバイパスされる。つまり、このミドルウェアで認証/承認を行うアプリケーション内の保護されたリソースと機能に、脅威アクターが不正にアクセスする可能性が生じている」と記されている。
Next.js のミドルウェアは、アプリケーションのルートに到達する前のリクエストを、傍受/処理する上で重要な役割を果たす。一般的なプラクティスに従い、認証と承認を通過したユーザーだけに、アプリケーションの特定部分へのアクセスを許可するために、このミドルウェア内に承認ロジックが実装されている。しかし、新たに発見された脆弱性を悪用する攻撃者は、それらのチェックの回避を達成し、データ侵害/不正アクション/サービス中断などの深刻な結果を引きこす可能性を手にする。
すでに Next.js チームは、パッチ・バージョンをリリースし、脆弱性 CVE-2025-29927 に対処している。必要とされる更新の情報は、以下のように、セキュリティ・アドバイザリに記載されている。
この脆弱性を軽減するために最も重要な手順は、それぞれのプロジェクトで使用している上記のメジャー・バージョンに応じて、指定されたパッチ・レベルにアップグレードすることだ。
なお、それよりも古いバージョンの Next.js を、たとえば バージョン 11.1.4〜13.5.6 など使用している場合には、最新のパッチをダイレクトに適用できない可能性がある。そのような場合のために、このアドバイザリ提供する回避策は、「安全なバージョンへのパッチ適用が不可能な場合には、x-middleware-subrequest ヘッダーを取り込んでいる、外部ユーザー・リクエストが Next.js アプリケーションに到達しないようにすべきだ」というものだ。
このヘッダーは、脆弱性 CVE-2025-29927 を悪用する上での、重要なコンポーネントであることが判明している。したがって、このヘッダーを取り込んだリクエストをブロックすることで、一時的な保護レイヤーが提供される。ただし、この回避策により、特定のアプリケーション機能に影響が生じる可能性があることを、理解することが重要となる。したがって、パッチを適用した最新バージョンへの完全なアップグレードを、最終的な目標にする必要がある。
この脆弱性は、リモートからの悪用が可能であり、CVSS 値は 9.1 と評価されています。ご利用のチームは、十分に ご注意ください。なお、Next.js の前回の脆弱性は 2025/01/03 の「Next.js の DoS 脆弱性 CVE-2024-56332 が FIX:Server Actions に悪用の恐れ」となります。よろしければ、Next.js で検索と併せて、ご利用下さい。
You must be logged in to post a comment.