Next.jsに認証をバイパスできる脆弱性 直ちにアップデートを

人気なReactフレームワークのNext.jsに、認証チェックをバイパスできる脆弱性が見つかりました。
今回発見された脆弱性(CVE-2025-29927 / GHSA-f82v-jwr5-mffw)は、Next.jsのミドルウェアで認証を処理している場合に、ミドルウェアをバイパスすることで認証を回避できるというものです。
攻撃者はリクエストにx-middleware-subrequest
ヘッダーを含めることで、ミドルウェアによる認証を迂回して、本来アクセスできないコンテンツにアクセスできる可能性があります。
CVE-2025-29927の深刻度は「Critical(緊急)」に分類されており、CVSSスコアは9.1となっています。
この脆弱性の悪用には、特別な権限やユーザーの操作が不要で複雑性も低いため、攻撃リスクが非常に高いといえます。
影響を受けるバージョンは次のとおりです。
- Next.js v11.1.4からv13.5.6まで
- Next.js v14.0からv14.2.24まで
- Next.js v15.0からv15.2.2まで
CVE-2025-29927は、Next.js v14.2.25とv15.2.3で修正されています。
Next.js v13以下のバージョンにはパッチが提供されないため、v14.2.25以降またはv15.2.3以降へアップデートする必要があります。
何らかの理由でアップデートが難しい場合は、外部ユーザーからのx-middleware-subrequest
ヘッダーを含むリクエストを遮断することで、リスクを軽減できます。
また、Cloudflareは今回の脆弱性に対してWeb Application Firewall(WAF)の展開を予定しているとのことです。
正式な展開を待たずとも、どのプランでもCloudflareダッシュボードの[セキュリティ]>[WAF]>[ルールを作成]から手動でWAFを設定できます。
手動で設定する場合は、次の値を設定してください。
- フィールド:ヘッダー
- オペレーター:存在する
- 値:
x-middleware-subrequest
- アクション:ブロック
また、WAFルールの式は次のとおりです。
(len(http.request.headers["x-middleware-subrequest"]) > 0)

なお、NetlifyでNext.jsを使っている場合は、この脆弱性の影響を受けないとのことです。
この脆弱性は、zhero;氏とinzo氏によって発見されました。
Next.jsでミドルウェアによる認証チェックを利用したアプリケーションを開発している場合は、直ちにアップデートするかWAFを設定することが推奨されます。
Vercelの対応に疑問の声も(3月23日10時17分追記)
Vercelは当初、今回の脆弱性を発表する記事のタイトルを「Vercel Firewall proactively protects against vulnerability with Middleware」(Vercelのファイアウォールはミドルウェアの脆弱性から積極的に保護します)としており、記事本文でも「Vercel customers are proactively protected by our Firewall」(Vercelのファイアウォールによって、顧客は積極的に保護されています)と記載していました。
現在は修正されていますが、脆弱性の開示というよりはまるで自社サービスの宣伝のようになっていたことで、一部のユーザーからは疑問の声が上がっています。

修正後の記事では「Vercel customers are not affected」(Vercelの顧客は影響を受けません)と記載されています。
しかし、Netlifyのように最初から影響を受けていなかったのか、それともファイアウォールによって保護されたため現在は影響を受けていない(ファイアウォールの展開までは影響を受けていた)という意味なのかは不明です。
脆弱性の開示までVercelチームが報告を受けてから23日、修正がコミットされてから5日も経っていましたが、開示までほかのプロバイダーと情報を共有しておらず、自社の顧客のみを保護していたことから、とくにホスティングプロバイダーの「中の人」を中心に批判の声が上がっています。
参考リンク
- Authorization Bypass in Next.js Middleware · CVE-2025-29927 · GitHub Advisory Database
- NVD - CVE-2025-29927
更新履歴
- 2025年3月22日23時46分:Netlifyでの影響について追記