Modern Frontend CVEs

対象CVE: CVE-2026-64642

[緊急] Next.js App Routerの認証迂回脆弱性 (CVE-2026-64642) に関する注意喚起

Next.jsのApp RouterとTurbopackを使用し、特定のi18n設定を持つアプリケーションで、認証が迂回されてしまう深刻な脆弱性が発見されました。悪意あるリクエストにより、本来アクセス制限されたページや機能に未認証ユーザーがアクセスするリスクがあります。

はじめに:Next.js App Routerにおける認証迂回の危険性

日本のフロントエンドエンジニアの皆さん、重要なセキュリティ情報です。Next.jsのApp Routerを利用しているアプリケーションにおいて、認証メカニズムが不正に迂回されてしまう高深刻度(High)の脆弱性(GHSA-6gpp-xcg3-4w24 / CVE-2026-64642)が報告されました。この脆弱性が悪用されると、本来認証されたユーザーのみがアクセスできるはずのページや機能に、未認証のユーザーがアクセスできてしまう可能性があります。あなたのNext.jsプロジェクトが影響を受けるかどうかを確認し、速やかに対応することをお勧めします。

脆弱性の詳細:なぜ認証が迂回されるのか?

この脆弱性は、Next.jsのApp RouterとTurbopackを組み合わせて使用しているアプリケーションで発生します。特に、`next.config.js`などで設定する`config.i18n.locales`に**単一のロケール**のみが指定されている場合に影響を受けます。

具体的には、悪意を持って細工されたリクエストがアプリケーションに送られると、通常であれば認証処理を行うミドルウェアやプロキシが、何らかの理由で不正にバイパスされてしまいます。これにより、認証のゲートを通過せずに、保護されたルートやAPIエンドポイントへアクセスが可能になってしまうのです。結果として、機密データの漏洩や不正な操作など、アプリケーションの完全性や機密性が損なわれるリスクが生じます。

あなたのアプリケーションは影響を受けますか?確認すべき3つの条件

以下のすべての条件を満たすNext.jsアプリケーションが、この脆弱性の影響を受けます。一つでも当てはまらない場合は直接的な影響は受けませんが、セキュリティベストプラクティスとして確認を推奨します。

1. **Next.jsのApp Routerを使用していること。** (Pages Routerのみのプロジェクトは影響を受けません)

2. **アプリケーションのビルドにTurbopackを使用していること。** (デフォルトのWebpackを使用している場合は影響を受けません)

3. `next.config.js`などで設定する`config.i18n.locales`に、**単一のロケール(例: `locales: ['en']`)しか設定されていないこと。**

今すぐ取るべき対策:アップグレードと二重の防御

この脆弱性に対処するための最も推奨される、そして確実な方法は、修正版がリリースされ次第、速やかにNext.jsを最新バージョンにアップグレードすることです。常に最新の安定版を使用することで、既知の脆弱性からアプリケーションを保護できます。

もし、すぐにアップグレードが難しい場合は、暫定的な回避策として、**二重の認可チェック機構を実装**することを強く推奨します。具体的には、ミドルウェアやプロキシだけに認証・認可を依存するのをやめ、各ページのサーバーサイドでのデータ取得パス(例えば、App Routerのデータ取得関数、またはPages Routerを使用している場合の`getServerSideProps`など)で、再度厳格な認可チェックを実装してください。これにより、仮にミドルウェアがバイパスされたとしても、データや機能への不正アクセスを水際で防ぐことができます。

まとめ

Next.js App Routerにおけるこの認証迂回脆弱性は、アプリケーションのセキュリティにとって非常に深刻な問題です。攻撃者によって悪用されると、未認証での情報漏洩や不正操作につながる可能性があります。ご自身のプロジェクトが影響を受ける条件に合致するかどうかを確認し、速やかにアップグレード、または暫定的な回避策を適用して、セキュリティを強化してください。常に最新の情報をキャッチアップし、安全なアプリケーション開発を心がけましょう。

← ブログ一覧に戻る