React Server Components (RSC) アーキテクチャの致命的な欠陥の公開により、何百万もの Web アプリケーションが差し迫ったリスクに直面しています。 CVE-2025-55182 として識別されるこの脆弱性により、認証されていない攻撃者がほぼ完璧な信頼性でリモート コード実行 (RCE) を実行できます。

React は、Web インターフェイスを構築するために世界で最も広く使用されているライブラリであり、Web インターフェイスのフロント エンドを強化します。 Facebook、Netflix、Airbnbなどの業界大手。 Next.js は React のインフラストラクチャ層として機能し、これらのアプリケーションがサーバー上でどのように実行されるかを処理し、コンテンツをユーザーに配信します。これらは共に、現代のインターネットの重要な部分のバックボーンを形成しています。

この脆弱性は、React Server Components (RSC) と呼ばれる特定のアーキテクチャをターゲットとしています。 RSC を使用すると、Web ページの一部をユーザーのデバイスではなくサーバー上でレンダリングしてパフォーマンスを向上させることができます。この欠陥は、サーバーとユーザー間の通信回線、特に「フライト」プロトコルにあります。

平たく言えば、この脆弱性はデジタル マスター キーとして機能します。システムが受信データを適切にチェックできないため、攻撃者が悪意のあるコマンドを送信し、サーバーがそれを盲目的に受け入れて実行する可能性があります。これにより、パスワードや特別なアクセスを必要とせずにバックエンド インフラストラクチャを完全に制御できるようになり、データを盗んだり、ランサムウェアをインストールしたり、ボットネット攻撃のためにサーバーをハイジャックしたりすることが可能になります。

このバグは「フライト」データ トランスポート プロトコル内に埋め込まれており、HTTP リクエストの安全でない逆シリアル化が原因で発生します。エコシステムの主要なフレームワークである Next.js のデフォルト構成は、すぐに利用可能であり、開発者による特定のコーディング エラーを引き起こす必要はありません。

Meta と Vercel は、React 19 と Next.js バージョン 14 ~ 16 用の緊急パッチをリリースしました。 href=”https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182″target=”_blank”>クラウド環境の 39% は脆弱であると推定されており、セキュリティ チームは直ちにアップグレードするよう求められています。

CVSS 10.0 の欠陥の仕組み

セキュリティの専門家が、完全な脆弱性を備えた脆弱性に遭遇することはほとんどありません。重症度スコア。 公式アドバイザリーは、この欠陥に CVSS 評価 10.0 を割り当て、最大の影響と軽微な悪用可能性を示しています。

この危機の中心には、React Server 間の通信を促進するように設計された特殊なデータ転送メカニズムである「フライト」プロトコルがあります。コンポーネントとクライアント。

複雑なエクスプロイト チェーンや事前の認証を必要とする一般的なリモート コード実行のバグとは異なり、この欠陥には特別に作成された HTTP リクエストが 1 つだけ必要です。

この欠陥を分析した Wiz Research チームは、その根本原因を説明しています。原因:

「この脆弱性は基本的に、react-server パッケージとその RSC ‘Flight’ プロトコルの処理に存在します。」

「これは、サーバーが安全でない方法で RSC ペイロードを処理する論理逆シリアル化の脆弱性として特徴付けられます。」

「サーバーが特別に細工された不正な形式のペイロードを受信すると、構造を正しく検証できません。」

逆シリアル化の脆弱性は、アプリケーションが十分な検証を行わずに受信データ構造を信頼する場合に発生します。この例では、サーバーは悪意のあるペイロードを盲目的に処理し、実行可能なロジックに変換します。

Wiz は、このエクスプロイトが非常に安定していることを確認しました。これは、競合状態、特定のメモリ状態、メモリ破損バグに関連することが多い複雑なタイミング ウィンドウには依存しません。

ウィズ研究チームは、自動化された攻撃の危険性を強調し、「悪用には細工された HTTP リクエストのみが必要で、テストではほぼ 100% の信頼性が示されています。」

この安定性は、ペイロードの詳細が公開されると、自動化されたボットネットが数時間以内に大規模にサーバーをスキャンして侵害できる可能性があることを示唆しています。

攻撃対象領域は次のとおりです。標準の認証層をバイパスするため、特に危険です。 RSC リクエストを処理するように構成されたエンドポイントは、オープンドアとして機能します。

React チームは、警告します。「認証されていない攻撃者は、React によって逆シリアル化されたときに、任意のサーバー関数エンドポイントに対して悪意のある HTTP リクエストを作成する可能性があります。

エコシステム Blast Radius: Next.js 以降

この脆弱性はコアの「react-server」パッケージに存在しますが、主要なメタフレームワークのデフォルト設定に存在することでその影響は拡大します。

最新の React 開発の標準として広く認識されている Next.js は、App Router を使用するすべてのバージョンで脆弱です。これには、データの取得とレンダリングに RSC に大きく依存するバージョン 14.x、15.x、16.x が含まれます。

Wiz の技術分析では、これが開発者の過失や構成ミスの結果ではないことが強調されています。

Wiz 研究チームは次のように述べています。 「デフォルトの構成には脆弱性があります。create-next-app で作成され、実稼働用に構築された標準の Next.js アプリは、開発者がコードを変更することなく悪用できます。」

この脆弱性は Next.js にとどまらず、RSC アーキテクチャを採用する他の最新のフレームワークにも及んでいます。 Next.js セキュリティ アップデート により、Waku、RedwoodJS、および React Router が脆弱な React パッケージを利用している場合にも影響を受けることが確認されています。

公式によると、CVE-2025-55182 アドバイザリー:

「React Server Components バージョン 19.0.0、19.1.0、19.1.1、および 19.2.0 には、認証前リモート コード実行の脆弱性が存在します。」これには、react-server-dom-parcel、react-server-dom-turbopack、react-server-dom-webpack のパッケージが含まれます。」

「脆弱なコードは、HTTP リクエストからサーバー機能エンドポイントへのペイロードを安全でない方法で逆シリアル化します。」

Wiz のデータによると、このエクスポージャは体系的であることが示されており、クラウド環境の 39% が現在脆弱なインスタンスをホストしていると推定されています。

この広いフットプリントは、次の原因によるものです。依存関係の推移的な性質。開発者は、「react-server-dom-webpack」または「react-server-dom-turbopack」を直接使用していることに気づかない可能性があります。これらはフレームワーク内部の奥深くにバンドルされていることが多いためです。

ここでは、サーバー関数を「使用する」ことと単に「サポートする」ことの区別が重要です。インフラストラクチャ自体がターゲットであり、必ずしも開発者のカスタム エンドポイントではありません。

修復と防御

Meta と Vercel はパッチの同時リリースを調整しました。 React バージョン 19.0.1、19.1.2、および 19.2.1 は、逆シリアル化ロジックを強化することで核となる欠陥に対処しています。

Next.js ユーザーの場合、最新のパッチ リリースにアップグレードすることが唯一の確実な修正です。 Vercel は、この問題を軽減するためにバージョン 14.3.0-canary.88、15.0.5、15.1.9、および 16.0.7 をリリースしました。

設定の回避策はありません。基盤となる RSC インフラストラクチャがアクティブなままの場合、サーバー アクションまたは特定のルートを無効にするだけでは不十分です。

Cloudflare の WAF 保護は、プロキシの背後にいる顧客にプロアクティブなシールドを提供します。同社は、悪意のあるフライト ペイロードがオリジン サーバーに到達する前にフィルタリングするルールを導入しました。

しかし、WAF 保護のみに依存するのは不十分です。内部トラフィック、オリジンへの直接リクエスト、またはプロキシされていないエンドポイントは依然としてエッジ防御をバイパスする可能性があります。

内部ツールと非公開アプリにパッチを適用する必要性を強調し、React チームは「アプリが React サーバー関数エンドポイントを実装していない場合でも、アプリが React サーバー コンポーネントをサポートしていれば依然として脆弱である可能性があります。」

セキュリティ チームは、「react-server」を使用してすべてのアプリケーションを識別することを優先する必要があります。

脆弱性の詳細が公開されたため、自動悪用が始まる前にパッチを適用できる期間は急速に閉まりつつあります。

Categories: IT Info