ReactJSおよびNext.js RSCエンドポイント露出検出の新スキャナー公開 (CVE-2025-55182)

はじめに:RSCエンドポイントの新たな脅威

セキュリティ研究者らは、現代のウェブアプリケーションにおける脆弱なReact Server Component (RSC) エンドポイントを特定するための専用スキャンツールを公開しました。これは、CVE-2025-55182の検出における重要なギャップを埋めるものです。

既存のセキュリティ対策に挑む新検出アプローチ

新たに利用可能になったPythonベースのスキャナーは、高度な表面検出(Surface Detection)手法を導入することで、CVE-2025-55182への組織の露出度評価方法を変革しています。これは、厳格なペイロード注入に依存する従来のエクスプロイトツールとは異なり、この軽量スキャナーは、サーバーがRSCプロトコルを積極的に露出し、Next.jsアクションヘッダーに応答するかどうかを検証します。

従来の脆弱性スキャンの限界

CVE-2025-55182の脆弱性は、React 19およびNext.jsアプリケーションに影響を与え、露出したRSCエンドポイントを介したリモートコード実行(RCE)攻撃の可能性を秘めています。しかし、多くの既存の検出方法が誤検知(false negatives)を引き起こすため、セキュリティチームは自社の脆弱性状況を正確に判断することに苦慮してきました。

従来の脆弱性スキャンアプローチには、本番環境において重大な制約があります。ほとんどの攻撃的な概念実証(PoC)ツールは、vm#runInThisContextのような特定のペイロードに依存したり、"id": "vm"のようなデフォルトのモジュール識別子を前提としています。これらの前提は、実際のデプロイメントでは問題となります。WebpackやTurbopackを使用してビルドされた本番アプリケーションは、通常、モジュール識別子を整数(例: 742)に縮小したり、ツリーシェイキングによって完全に削除したりします。セキュリティチームが標準のRCEペイロードを本番ビルドに対して実行すると、エクスプロイトはサイレントに失敗し、危険な誤った安心感を生み出してしまいます。

「表面検出」による新たなパラダイム

Fatzguru氏によると、新スキャナーはエクスプロイトに焦点を当てたアプローチを放棄し、表面検出を優先しています。これは、ターゲットサーバー上で任意のコードを実行しようとするのではなく、サーバーがRSCプロトコル要求を受け入れ、Next.jsアクションヘッダーを適切に処理するかどうかを体系的に検証します。この手法は、特定のコードガジェットの悪用可能性を確認するのではなく、露出そのものを検出します。

検出後の追加調査の必要性

セキュリティ研究者は、露出したエンドポイントを特定することが単なる第一歩であることを強調しています。このスキャナーで陽性検出結果を受け取った組織は、サーバーがRSCペイロードを受け入れ、それらを処理しようとしていることを理解しており、これは潜在的な脆弱性の兆候となります。このスキャナーを通じて露出を確認したセキュリティチームにとって、実際のエクスプロイト検証には追加の調査が必要です。

ミニファイされたモジュール識別子のため、厳格なペイロードは本番システムに対して常に失敗します。代わりに、組織はWebpackモジュールIDを列挙またはファジングし、クライアント側のwebpack-runtime.jsファイルとチャンクアセットを分析して、潜在的なガジェットの有効なIDマッピングを抽出する必要があります。

スキャナーの利用方法

このスキャナーは、シンプルなコマンドライン機能を提供します。ユーザーは、python3 cve_2025_55182_scanner.py -u http://localhost:3000/のように個々のターゲットをスキャンしたり、ファイルから複数のURLを処理して一括評価を行うことができます。このツールにはPython 3と、pip経由で利用可能な標準の依存関係が必要です。

セキュリティチームは、このツールが露出したRSCエンドポイントを厳密に識別するものであり、エクスプロイトを実行するものではないことを理解しておく必要があります。これは、組織がアプリケーションがRSCペイロードを受け入れ、処理が必要かどうかを確認するための検出および認識メカニズムとして機能します。

まとめ

CVE-2025-55182がセキュリティコミュニティ内で引き続き注目される中、このスキャナーは脆弱性発見ワークフローへの不可欠な貢献であり、攻撃者よりも早くリスクのあるReactおよびNext.jsアプリケーションを特定することを可能にします。


元記事: https://gbhackers.com/new-scanner-released-to-detect-exposed-reactjs-and-next-js-rsc-endpoints/