オープンプロキシリスク:高度な重大度のNext.js SSRFの欠陥がクラウドメタデータエンドポイントを露出

開発フレームワークのNext.jsは、重大なセキュリティ脆弱性(CVE-2026-44578として指定)を修復しました。この脆弱性は、組み込みNode.jsサーバーランタイムを使用する自己ホスト型インフラストラクチャに展開されたアプリケーションに影響します。この欠陥は、Server-Side Request Forgery(SSRF)ベクトルとして現れており、攻撃者が脆弱なホストを強制して、内部または外部のネットワーク先に対して任意のリクエストを送信させることができる脆弱性クラスであり、公開インターネットから保護されているアセットへの不正なアクセスを許可します。Vercelで本来ホストされている展開は、完全に影響を受けません。

中核となるアーキテクチャの問題は、着信WebSocketプロトコルアップグレードヘッダーの不適切な検証に起因しています。設計されたリクエストは、ネイティブNext.jsサーバーをオープンプロキシとして機能するように操作し、テレメトリを任意のエンドポイントに転送できます。この動作により、内部管理制御パネル、制限されたサービスAPI、およびクラウドプロバイダーのメタデータエンドポイント(一時的なIAM認証情報、APIベアラートークン、および展開シークレットが頻繁に格納されるリポジトリ)が露出します。

この脆弱性は、バージョン13.4.13から15.5.16、および16.0.0から16.2.5までのNext.jsのバージョンに影響します。確実にパッチが適用されたリリースは、Next.js 15.5.16および16.2.5で提供されています。GitHubはこの脅威プロファイルを高度な重大度レベルに分類し、国立脆弱性データベース(NVD)はこの問題をCWE-918にマップし、計算されたCVSSベーススコアは8.6です。

セキュリティパッチの実装に続いて、Next.jsはWebSocketハンドシェイクの異常に対してより厳密な検証構造を実施し、明示的で安全なルーティング構成がない限り、任意のプロキシ操作を効果的にブロックします。自己ホスト型インフラストラクチャを管理する開発者は、nextパッケージを修復されたバージョンにアップグレードすることを急ぐよう促されます。即座のパッチ展開が不可能なシナリオでは、アプリケーションがアクティブなWebSocket接続に依存していない場合、管理者はリバースプロキシまたはロードバランサーレベルでプロトコルアップグレードリクエストを抑制する必要があります。

防御の二次的なレイヤーとして、セキュリティ実践者はアプリケーションサーバーに制限付きイグレスファイアウォールを実装する必要があります。Next.jsランタイムが、隣接する内部サブネット、クラウドメタデータリンク、または周辺ユーティリティAPIに対して無制限のネットワーク可視性を必要とすることはほとんどありません。ネットワークレイヤーで最小権限の原則を実施することにより、SSRF悪用のブラスト半径を大幅に軽減し、同様のソフトウェア欠陥が将来のイテレーションで表面化しても回復力を確保します。

同時に、Netlifyは技術的アドバイザリーをリリースし、その展開がこのベクトルに耐性があることを確認しました。NetlifyのFunctionsおよびEdge Functionsは、WebSocketプロトコルの遷移をネイティブでサポートしていないため、それらのエコシステム内で問題のあるロジックはデッドコードになります。Cloudflareも同様に即座のパッケージ修復をアドバイスし、Web Application Firewalls(WAF)への過度な依存に対して組織に警告しました。ReactおよびNext.js内の基礎となる設計構造は、エッジベースのファイアウォールルール定義を完全に回避できるためです。

翻訳元: https://meterpreter.org/open-proxy-risk-high-severity-next-js-ssrf-flaw-exposes-cloud-metadata-endpoints/

ソース: meterpreter.org