ブログに戻る

フォロー&ご登録

React2Shell、Critical React RCE CVE-2025-55182 および CVE-2025-66478 に対する Fastly の予防的な保護

Kelly Shortridge

最高プロダクト責任者, Fastly

12月11日更新 :

先週の重大度 Critical (緊急) の React2Shell CVE に続き、同様の Next.js および React コンポーネントを悪用する2件 (現在は3件) の新しい CVE が発表されました。この最新の発表によって状況はさらに緊迫し、各組織が影響を急いで評価する中、これらの基盤フレームワークの脆弱性曝露を特定してパッチを適用する必要性が改めて強調されています。詳細については、こちらをご覧ください。


12月9日更新 :

React2Shellは世界中のエンタープライズに影響を与え続けており、最もターゲットとされる業界や地域について新たなインサイトが得られました。最新情報をこちらでご確認くださいこちら


12月5日更新 :

Fastly は、攻撃者が React2Shell (CVE 2025-55182 および 2025-66478) を悪用するために脆弱なアプリケーションを執拗に探っていることを示唆する証拠を実際に確認しています。昨日 (12月4日) 午後9:04 UTC 頃に POC (概念実証) が公表された後、Fastly は、その時点で攻撃活動が急激にエスカレートしていると思われる現象を検出しました。

それから24時間で、React2Shell の NGWAF シグナルをトリガーするリクエスト数が2,775%急増しました。

12月4日午後8:00~12月5日午後8:00までの24時間を示す面グラフ。このグラフは、前回公開されたグラフから更新されたもので、 React2Shell の試行回数が12月5日午後7:00にピークを迎え、2,775%と劇的に増加したことが示されています。

Fastly のセキュリティ調査チームは、一部の公開 PoC が攻撃者に脆弱なサーバーでコマンドを実行し、データを奪取し、書き込みアクセスを得る一段階の能力を与えることを確認しました。 パッチ適用の取り組みを直ちに行うことが急務です。

Fastly のお客様へ

私たちの目標は、パッチを適用するための十分な余裕を提供することです。

  1. まず、CVE-2025-55182 に対する仮想パッチを拡張し、スキャン/プローブ活動や NGWAF の保護を回避しようとする試みを検出できるようにしました。

  2. 次に、Next-Gen WAF に組み込まれた「攻撃ツール」信号は、脆弱なアプリを調査するために過去24時間以内に出現したスキャナーを検出します。このシグナルは React2Shell のアクティビティを示している可能性があるため、このシグナルをトリガーしたリクエストを調査することをお勧めします。

  3. 最後に、Fastly Bot Management は、React2Shell ツールを「Suspected Bad Bot(疑わしい悪質なボット)」としてフラグを立て、組織にさらなる防御層を提供しました。まだ対応していない場合は、このシグナルをルールに組み込むことをお勧めします。

現時点で最善の対策は、アプリを該当する修正済みバージョンに更新することです。もはや「発生するか否か」、あるいは「いつ発生するか」ではなく、「どのくらいの頻度で発生するか」という段階に至っています。当社は引き続き世界的な攻撃活動を監視し、お客様向けの追加対策に投資するとともに、一般コミュニティと情報を共有していきます。


12月4日更新 :

このブログを公開して以来、Fastly のチームはReact2Shell (CVE 2025-55182 および 2025-66478) を悪用する試みを注意深く監視しています。12月4日午後9時04分 (GMT) 頃、実行可能な PoC と思われるものが公に削除されました。午後8時 (GMT) 頃までは、これらの脆弱性に対して NGWAF シグナルをトリガーするリクエストはほとんどありませんでしたが、POC が広まり始めた後トリガーされたシグナルが急激に増加しました。以下のチャートは、2025年12月4日の11:00 (GMT) から午後11:00 (GMT) までのデータを示しています。状況が進展するにつれて、関連するインテリジェンスを引き続き共有していきます。

React2Shell シグナルをトリガーするリクエストの時間ごとのボリュームを表示するエリアチャート。チャートは、グリニッジ標準時午後7時まではシグナルを示さず、午後7時から9時の間に2,112への小幅な急増、続いて午後10時に急増、そして午後11時に36,792への大幅な急増を示しています。

    

解決策

Fastly は、React および Next.js アプリケーションの特定と更新をすぐに優先することを強く推奨します。現在 Next-Gen WAF をご利用のお客様は、基礎となるシステムが完全に更新されるまで、デュアル CVE に対する関連する仮想パッチを有効にしてください。パッチを適用しておらず、予防的な保護も適用していない場合は、脆弱なシステムが侵害される可能性があると想定する必要があります。

私たちは React2Shell の活動をグローバルネットワークで引き続き監視し、状況の進展に応じてコミュニティを更新します。


インターネットを悪用するサイバー犯罪者の悪質なネットワークの話はよく耳にしますが、危機の際には手を携えてインターネットを修復する熱心なプロバイダーのネットワークをこそ称賛すべきです。本日発表された新しい React リモートコード実行 (RCE) の脆弱性は、このパートナーシップの力を実証するものです。

12月1日夕方、Vercel から CVE-2025-55182 CVE-2025-66478* の今後の開示について通知がありました。これらの脆弱性は現在、React2Shell と総称されています。

この脆弱性について知った後、Fastly はすぐに社内システムの調査を開始し、顧客に迅速かつ積極的なサポートを提供するための検知コンテンツの開発に取り組みました。

また、開示に先立ち業界横断的な準備を最大限に整えるため、他の重要な技術パートナーを Vercel と直接連携させる支援も行いました。お客様にとって重要なのは、Fastly の対応だけではないことを私たちは理解しています。この分野で活動する他社の良きパートナーとなり、適切な情報を必要な場所に確実に届けることも同様に重要だと認識しています。

Vercel をはじめ、この緊急の取り組みに貢献したソフトウェアエコシステムパートナー各社との緊密な連携により、可能な限り多くの組織を保護できたことに感謝しています。

この記事では、脆弱性の詳細について説明し、React2Shell がビジネスにどのような影響を及ぼす可能性があるかを説明し、悪用の試みを軽減するためのガイダンスを提供します。

主なポイント

  • React CVE-2025-55182 および Next.js CVE-2025-66478 は、React サーバーコンポーネントを搭載した React 19 を使用しているすべてのアプリに影響します。幸いにも、RSC は JavaScript アプリの中では比較的小規模です。

  • しかし、私たちは攻撃者がこの脆弱性をすぐに武器化することを予想しています。脆弱性がある場合は、まもなく大量の攻撃試行があると想定してください。

  • 現在の調査によると、Fastlyのプラットフォームインフラストラクチャは、React2Shellに対して脆弱ではありません。私たちは、さらに詳しく知るにつれて、この作業を継続いたします。

私たちは、NGWAF で React2Shell の仮想パッチを公開し、お客様が攻撃の試みを軽減できるよう支援しています。詳細については、ステータスページおよびカスタマーポータル内の FSA でご確認いただけます。

今すぐ積極的な保護を得る方法

NGWAF で保護されているアプリケーションのリスクを軽減するため、脆弱性が存在する可能性のあるすべてのエッジおよびオンプレミスのサービスに対して、CVE-2025-55182 および CVE-2025-66478 の仮想パッチ** を直ちに適用することをお勧めします。この共通脆弱性識別子固有のテンプレート化されたルール内の検知内容は、リクエストヘッダーおよび POST 本文内の React2Shell CVE を悪用しようとする可能性を示す特定のパターンを探します。

Fastly のセキュリティ調査チームは、Vercel と緊密に協力してこのコンテンツを開発し、テストしました。このパートナーシップにより、両社の顧客が開示時に保護を受けられることを保証できることに感謝しています。当社のセキュリティ調査チームは、必要に応じて仮想パッチを継続的に更新します。オプトインした方には、その後の更新が自動的に提供されます。

Fastly は、この React2Shell に関連する攻撃トラフィックを検出しブロックするために、顧客に提供できる追加の防御レイヤーの調査を続けます。当社は、悪用の試みを観察しながら、関連する NG-WAF コンテンツの開発と改良を継続していきます。

React2Shell の詳細を掘り下げる

Reactの共通脆弱性識別子2025-55182とNext.jsの共通脆弱性識別子2025-66478は、プロトタイプ汚染バグを反映しています。ほとんどのプロトタイプ汚染バグは、攻撃者にとって任意のコードの実行や機密データへのアクセスなどの有益な行為を行うために、追加のバグを必要とします。

この React RCE の脆弱性は、プロトタイプ汚染バグとしては異例です。なぜなら、攻撃者はわずか1ステップで目的を達成できるからです。そして、私たちの理解では、そのステップは React 19 と RSC を使用しているあらゆる環境で機能します。

攻撃者は、一発で1回限りのリクエストをして、React サーバーに選択した JavaScript コードを実行させることができます。このバグにより、攻撃者はアプリの偵察を行う必要がなくなり、認証に成功する必要もなくなります。必要なのは、アプリが RSC を使用していることを認識し、バグをトリガーするために正確な一連のシリアル化された Flight 命令を含む HTTP リクエストを送信することだけです。

React2Shell は攻撃者がリモートコード実行を行うために別の脆弱性を必要としないため、攻撃者にとって利用しやすいものになると考えています。簡単に言えば、このバグにより攻撃者は脆弱なサーバーに任意の JavaScript を簡単に追加して実行できるようになります。より技術的な観点から説明すると、このバグは Flight ライブラリ、特にその逆シリアル化コードを悪用して、サーバーが攻撃者の React サーバー関数呼び出しをデコードする際に JavaScript の関数コンストラクタを呼び出します。

React 19 を使用している場合は直ちにパッチを適用し、以下に説明する積極的な保護を適用することを強くお勧めします。

React2Shell に関するFastlyのガイダンス – CVE-2025-55182 および CVE-2025-66478

この脆弱性を知ると、私たちは迅速にコアプラットフォームのインフラストラクチャを調査しましたが、React CVE-2025-55182や Next.js CVE-2025-66478 に対して直接的な脆弱性が存在することを示す証拠は見つかりませんでした。追加情報が得られ次第、調査を継続していきます。

しかし、私たちのプラットフォーム上で JavaScript アプリを実行しているお客様は多数います。React 19 を使用しており、React2Shell に対して脆弱である可能性があるかどうかを判断する方法は次のとおりです。

  • React Server Functions や Next.js を使用するすべてのアプリを、たとえば GitHub 検索を使ってインベントリします。直接的で確実な手法としては、対象アプリのコードベース全体を対象に、package.json ファイル内の関連パッケージ依存関係を特定する検索を実行する方法があります。

  • React Server Functions を使用していなくても、空の、初期状態の Next.js アプリケーションでも脆弱になる可能性があることに注意してください。攻撃者に必要なのは React Server コンポーネントに必要なサーバーだけです。

マルチテナント環境では、たとえ自社が安全であっても、いわゆる「隣人」が脆弱である可能性を懸念するのは当然であり、連鎖的な影響が生じる恐れがあります。しかし Fastly を使えば、直接的な影響の伝播から保護されます。Fastly は最初から信頼できないワークロードを念頭に置いて Compute プラットフォームを設計しました。隣接するワークロードが悪意のあるものや侵害されたものであったとしても、Fastly のサンドボックスアーキテクチャはお客様を保護するように構築されています。

脆弱性の性質を考慮すると、悪用が試みられるかどうかは「起こるかどうか」の問題ではなく、「いつ起こるか」の問題である可能性が高いと思われます。React または Next.js アプリにパッチを適用するためにさらに時間が必要な場合は、攻撃によるビジネスへの影響を最小限に抑えるために (また、これらの脆弱性を悪用するサイバー攻撃者のROIを損なうために)、前述の Fastly の NG-WAF などを使用して、アクティブな保護をすぐに適用することを強くお勧めします。

次のステップ

当社は、お客様がビジネスクリティカルなサービスのレジリエンスを当社に託していることを承知しております。当社の使命の中核は、CVE-2025-55182 や CVE-2025-66478 のような予期せぬ事態が発生したときにお客様をサポートすることです。React2Shell への継続的な対策を進める中、長年にわたり Fastly プラットフォームをご利用のお客様も、新規で即時の保護を必要とするお客様も、当社のチームが支援いたします。ご要望があれば、ぜひお知らせください。

私たちは、世界中のサイバー攻撃やサイバー不正利用の影響を最小限に抑えようと努めるクラウドプロバイダーのネットワークの一翼を担えることを光栄に思っています。インターネット全体のレジリエンスとエコシステムのコラボレーションを維持するという精神に基づき、Fastly は、React2Shell の脆弱性悪用の試みについて、当社のグローバルネットワークを積極的に監視し、Log4Shell インシデントの際に公表したインサイトと同様に、観測した活動の最新情報を随時提供します。今後の情報にご注目ください。

* 個人的には、Python の用語を借りて、これらをまとめて「Spicy Unpickling」と呼んでいます。

** 即時の保護のため、当社が入手可能な CVE 番号 (Next.js 由来の CVE-2025-66478) で仮想パッチを公開しました。現在、CVE-2025-66478 を React 由来の CVE-2025-55182 に統合する作業を進めています。