2025年12月3日、React開発者コミュニティに激震が走りました。ReactとNext.jsに存在するCVE-2025-55182という脆弱性が公開され、わずか数時間後には中国関連のサイバー攻撃グループによる実際の悪用が確認されたのです。この脆弱性の深刻度を示すCVSSスコアは10.0、つまり最大値です。さらに衝撃的なのは、クラウド環境の39%がこの脆弱性の影響を受けているという事実です。あなたのアプリケーションは大丈夫ですか?この記事では、React2Shellとも呼ばれるこの致命的な脆弱性について、技術的な詳細から即座に実行すべき対策まで、開発者とセキュリティ担当者が知っておくべきすべてを解説します。
CVE-2025-55182(React2Shell)とは何か
CVE-2025-55182は、React Server Components(RSC)の「Flight」プロトコルに存在する認証不要のリモートコード実行(RCE)脆弱性です。この脆弱性は、セキュリティ研究者のLachlan Davidsonによって2025年11月29日に発見され、Reactチームに責任ある開示が行われました。
この脆弱性の核心は、安全でないデシリアライゼーション(逆シリアル化)にあります。サーバーがReact Server Componentsのペイロードを処理する際、特別に細工された不正なデータを適切に検証せず、攻撃者が制御するデータがサーバー側の実行ロジックに影響を与えることができてしまうのです。その結果、攻撃者は特権的なJavaScriptコードを実行できるようになります。
研究者たちの実験では、この脆弱性の悪用成功率はほぼ100%に達しており、攻撃に必要なのは特別に細工されたHTTPリクエストを送信するだけです。しかも、デフォルト設定のアプリケーションが脆弱であるため、開発者が特別な設定を行わなくても攻撃対象となってしまいます。
当初、Next.js向けには別のCVE番号(CVE-2025-66478)が割り当てられていましたが、根本原因が同じであるため、重複として却下され、CVE-2025-55182に統合されました。ただし、これは検出結果が誤検知であることを意味するものではなく、単一のCVE番号で両方のケースをカバーするということです。
なぜCVE-2025-55182はこれほど危険なのか
最高レベルの深刻度と驚異的な影響範囲
この脆弱性が特に危険な理由は、その完璧な悪用条件にあります。CVSSスコア10.0という評価は、攻撃の容易さ、影響の大きさ、そして防御の困難さのすべてが最悪レベルにあることを示しています。
攻撃者は認証なしでリモートから攻撃でき、特別な権限も不要です。さらに、攻撃の複雑さは低く、ユーザーの操作も必要ありません。成功すれば、機密性、完全性、可用性のすべてに完全な影響を与えることができます。
Wiz Researchのデータによれば、調査対象のクラウド環境の39%に脆弱なバージョンのNext.jsまたはReactのインスタンスが存在しています。Next.jsフレームワークは69%の環境に存在し、そのうち61%が公開アプリケーションとして稼働しているため、すべてのクラウド環境の44%が公開されたNext.jsインスタンスを持っていることになります。これは単なる統計ではなく、実際の攻撃対象の広さを示しています。
実際の攻撃が進行中という現実
この脆弱性は理論上の脅威ではありません。2025年12月5日午前6時(UTC)から、実際の侵害事例が複数確認されています。Wiz Research、Amazon Threat Intelligence、Datadogなどの複数のセキュリティ企業が、野生での悪用を観察しています。
攻撃者たちは、この脆弱性を悪用してAWSクレデンシャルの収集を試み、base64エンコードして流出させようとしています。別のケースでは、Sliverマルウェアフレームワークのインストールが試みられました。さらに、複数の暗号通貨マイニングキャンペーンが確認されており、UPXでパッケージされたXMRigマイナーや、GitHubから標準的なXMRigセットアップをダウンロードする攻撃が観察されています。
GreyNoiseの公開報告では、12月5日午前4時(UTC)以降、95個のIPアドレスが「日和見的で大規模に自動化された悪用試行」を行っていることが確認されています。これは組織的で広範囲な攻撃キャンペーンが展開されていることを示しています。
影響を受ける製品とバージョン
脆弱なバージョンの特定
この脆弱性は、Reactエコシステムの複数の製品に影響を与えています。まず、react-server-domパッケージのバージョン19.0.x、19.1.x、19.2.xが脆弱です。これらはそれぞれ19.0.1、19.1.2、19.2.1にパッチが適用されています。
Next.jsについては、App Routerを使用している場合、14.3.0-canary.77以降のcanaryリリース、およびバージョン15.x、16.xのすべてが影響を受けます。パッチ済みバージョンは14.x stable、15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、16.0.7です。
重要なのは、react-server実装をバンドルしているフレームワークやライブラリもすべて影響を受ける可能性があるということです。これには、Vite RSCプラグイン、Parcel RSCプラグイン、React Router RSCプレビュー、RedwoodSDK、Wakuなどが含まれます。
重要な注意点:サーバー関数を使っていなくても危険
多くの開発者が誤解しているのは、サーバー関数を明示的に使用していなければ安全だと考えてしまうことです。しかし、この脆弱性はReact Server Componentsをサポートしているだけで影響を受けます。つまり、create-next-appで作成した標準的なNext.jsアプリケーションを本番用にビルドしただけで、開発者が何もコード変更をしていなくても、デフォルトで脆弱な状態になっているのです。
Google Cloudは、Compute Engine向けに提供している公式OSイメージはデフォルトでは影響を受けないと発表していますが、カスタムアプリケーションを実行している場合は別です。
中国関連脅威グループの迅速な対応
国家支援型グループの組織的攻撃
Amazon Threat Intelligenceチームは、CVE-2025-55182の公開からわずか数時間後に、複数の中国国家関連の脅威グループによる積極的な悪用試行を観察しました。特定されたグループには、Earth LamiaとJackpot Pandaが含まれています。
Earth Lamiaは、ウェブアプリケーションの脆弱性を悪用して、ラテンアメリカ、中東、東南アジアの組織を標的とすることで知られる中国関連のサイバー脅威アクターです。このグループは歴史的に、金融サービス、物流、小売、IT企業、大学、政府組織など、幅広いセクターを標的としてきました。
Jackpot Pandaは、主に東アジアと東南アジアのエンティティを標的とする中国関連のサイバー脅威アクターです。その活動は、国内安全保障や汚職に関する収集の優先事項と一致している可能性があります。
匿名化インフラと帰属の困難さ
中国のサイバー作戦の特徴的な要素として、大規模な匿名化ネットワークの使用があります。これらのネットワークは、偵察、悪用、コマンドアンドコントロール活動を可能にしながら、帰属を不明瞭にします。複数の脅威グループが同時にこれらのネットワークを使用するため、特定の活動を個々のアクターに帰属させることが困難になっています。
AWSのMadPotハニーポットインフラでの分析により、帰属不明の多くの脅威グループが中国関連のサイバー脅威活動と共通性を持つことが確認されています。観察された自律システム番号(ASN)の大部分は中国のインフラに関連しており、ほとんどの悪用活動がその地域から発生していることが確認されています。
攻撃ツールと技術の実態
脅威アクターは、自動化されたスキャンツールと個別の概念実証(PoC)エクスプロイトの両方を使用しています。観察された一部の自動化ツールには、ユーザーエージェントのランダム化など、検出を妨害する機能が備わっています。
興味深いのは、これらのグループがCVE-2025-55182に限定せず、CVE-2025-1338などの他の最近のN-day脆弱性も同時に悪用していることです。これは体系的なアプローチを示しています。脅威アクターは新しい脆弱性の開示を監視し、公開エクスプロイトを迅速にスキャンインフラに統合し、複数のCVEにわたる広範なキャンペーンを実施して、脆弱なターゲットを見つける可能性を最大化しています。
AWSのMadPotから得られたデータは、これらの悪用試行の持続的な性質を示しています。特筆すべき例として、IPアドレス183.6.80.214に関連する帰属不明の脅威クラスターは、2025年12月4日の午前2時30分17秒から午前3時22分48秒(UTC)まで、約1時間にわたって体系的に悪用試行のトラブルシューティングを行いました。この間、52分間で116回のリクエストがあり、複数のエクスプロイトペイロードを試し、Linuxコマンド(whoami、id)の実行を試み、/tmp/pwned.txtへのファイル書き込みを試み、/etc/passwdの読み取りを試みました。
クラウドプロバイダーの保護対策
AWSの多層防御アプローチ
AWSは、顧客を保護するために複数の防御層を展開しました。Sonaris Active Defenseシステムは、この脆弱性を標的とする悪意のあるスキャン試行を自動的に検出して制限します。Sonarisは1分間に2000億以上のイベントを分析し、MadPotハニーポットネットワークからの脅威インテリジェンスを統合して、悪用試行をリアルタイムで特定してブロックします。
AWS WAF Managed Rulesのデフォルトバージョン(1.24以降)のAWSManagedRulesKnownBadInputsRuleSetには、CVE-2025-55182用の更新されたルールが含まれており、マネージドルールセットでAWS WAFを使用している顧客に自動保護を提供します。
グローバルなMadPotハニーポットシステムは、悪用試行の早期検出を提供し、迅速な対応と脅威分析を可能にしました。Amazon Threat IntelligenceチームはCVE-2025-55182の悪用試行を積極的に調査しており、インフラが侵害された兆候を特定した場合、AWS Supportを通じて顧客に通知します。
ただし、これらの保護はパッチの代替ではありません。EC2、コンテナなどの独自の環境でReactまたはNext.jsを実行している顧客は、脆弱なアプリケーションを直ちに更新する必要があります。
Cloudflareの先制的保護
Cloudflareは、2025年12月2日午後5時(GMT)に新しい保護ルールをネットワーク全体に展開しました。すべてのCloudflare顧客は、無料プランと有料プランの両方で、React アプリケーショントラフィックがCloudflare Web Application Firewall(WAF)を経由してプロキシされている限り、自動的に保護されます。
重要なのは、Cloudflare Workersはこのエクスプロイトに対して本質的に免疫があるということです。Workers上にデプロイされたReactベースのアプリケーションとフレームワークは、この脆弱性の影響を受けません。
Cloudflareのセキュリティチームは、パートナーと協力してさまざまな攻撃パターンを特定し、新しいルールがバイパスを効果的に防止することを保証しました。興味深いことに、公式のCVE発表とブログの公開までの間、Cloudflareは悪用の試みを観察していません。
今すぐ実行すべき緊急対策
最優先事項:即座のパッチ適用
この脆弱性に対する唯一の決定的な対策は、強化されたバージョンへのアップグレードです。以下のバージョンに直ちに更新してください。
Reactについては、react-serverパッケージを19.0.1、19.1.2、または19.2.1にアップグレードします。Next.jsについては、使用しているバージョンに応じて、14.x stable、15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、または16.0.7にアップグレードしてください。
RedwoodやWakuなどの他のRSC対応フレームワークを使用している場合は、バンドルされているreact-serverバージョンに関する更新情報を公式チャネルで確認し、直ちに更新してください。
暫定的な保護措置
パッチ適用までの間、AWS WAFのカスタムルールを展開することで暫定的な保護を提供できます。AWS WAFを使用している顧客は、プロフェッショナル、ビジネス、またはエンタープライズプランでManaged Rulesが有効になっていることを確認してください。無料プランの顧客は、これらのルールがデフォルトで有効になっています。
アプリケーションとウェブサーバーのログを確認して、疑わしい活動を探します。特に、next-actionまたはrsc-action-idヘッダーを含むPOSTリクエスト、リクエストボディに「$@」パターンを含むもの、「status”:”resolved_model」パターンを含むものに注意してください。
侵害の兆候を監視する
ネットワークレベルでは、next-actionまたはrsc-action-idヘッダーを含むアプリケーションエンドポイントへのHTTP POSTリクエスト、リクエストボディに「$@」パターンや「status”:”resolved_model」パターンを含むものを監視します。
ホストベースでは、偵察コマンド(whoami、id、uname)の予期しない実行、/etc/passwdの読み取り試行、/tmp/ディレクトリへの疑わしいファイル書き込み(例:pwned.txt)、Node.js/Reactアプリケーションプロセスによって生成された新しいプロセスに注意してください。
アプリケーションサーバーで予期しないプロセス実行やファイル変更がないか確認してください。アプリケーションが侵害された可能性があると思われる場合は、直ちにインシデント対応の支援を受けてください。
CVE-2025-55182に関する疑問解決
デフォルト設定のNext.jsアプリは本当に脆弱なのか?
はい、残念ながらデフォルト設定で脆弱です。create-next-appを使用して作成した標準的なNext.jsアプリケーションを本番用にビルドした場合、開発者が特別なコード変更を行わなくても、デフォルトで脆弱な状態になっています。これは、React Server Componentsをサポートしているだけで影響を受けるためです。サーバー関数を明示的に使用していなくても、App Routerを使用している場合は脆弱性の影響を受けます。これが、この脆弱性が特に危険である理由の一つです。
CloudflareやAWSの保護があればパッチは不要か?
いいえ、CloudflareやAWSの保護は追加の防御層として非常に有用ですが、パッチの代替にはなりません。WAFルールは既知の攻撃パターンをブロックするのに役立ちますが、新しいバイパス技術や未知の攻撃ベクトルに対しては完全には保護できない可能性があります。また、アプリケーション層の脆弱性をネットワーク層から完全に検出することは困難です。最も確実な保護は、脆弱性そのものを修正する、つまりパッチを適用することです。CloudflareやAWSの保護は、パッチ適用までの時間を稼ぐための暫定措置と考えるべきです。
React 18以前のバージョンは安全なのか?
React 18以前のバージョンは、この特定の脆弱性(CVE-2025-55182)の影響を受けません。なぜなら、この脆弱性はReact Server Components(RSC)の「Flight」プロトコルに存在し、RSCはReact 19で導入された機能だからです。ただし、古いバージョンには他のセキュリティ脆弱性が存在する可能性があるため、一般的なベストプラクティスとして、常に最新の安定版を使用し、セキュリティアップデートを適用することが推奨されます。
攻撃が成功したかどうかを確認する方法は?
攻撃が成功したかどうかを確認するには、複数の指標を監視する必要があります。まず、ウェブサーバーとアプリケーションのログを確認し、next-actionまたはrsc-action-idヘッダーを含む疑わしいPOSTリクエストがないかチェックします。システムログで、予期しないプロセスの実行、特にwhoami、id、uname などの偵察コマンドや、/etc/passwdの読み取り試行、/tmp/ディレクトリへの不審なファイル書き込みがないか確認します。また、Node.js/Reactアプリケーションプロセスから生成された予期しない子プロセスがないかも監視します。ネットワークトラフィックで、通常とは異なる外部への接続、特に既知の悪意のあるIPアドレスへの接続がないか確認することも重要です。
この脆弱性はどのくらいの期間存在していたのか?
React 19は2024年12月5日にリリースされ、React Server Componentsがその主要な新機能の一つでした。CVE-2025-55182はReact 19.0.x、19.1.x、19.2.xに影響するため、React 19のリリース以降、約1年間この脆弱性が存在していた可能性があります。ただし、脆弱性は2025年11月29日にLachlan Davidsonによって発見され、責任ある開示が行われました。公開されたのは2025年12月3日で、その直後から悪用が始まりました。この短い期間で既に広範な悪用が確認されていることは、脆弱性の深刻さと攻撃者の積極性を示しています。
まとめ
CVE-2025-55182(React2Shell)は、React 19およびNext.js 15.x/16.xに影響する、最高レベルの深刻度(CVSS 10.0)を持つリモートコード実行脆弱性です。デフォルト設定で脆弱であり、既に中国関連の国家支援型グループを含む複数の脅威アクターによって積極的に悪用されています。クラウド環境の39%がこの脆弱性の影響を受けており、AWSクレデンシャルの収集、マルウェアのインストール、暗号通貨マイニングなどの実際の被害が確認されています。
最も重要なのは、今すぐパッチを適用することです。CloudflareやAWSなどのクラウドプロバイダーは追加の保護層を提供していますが、これらはパッチの代替にはなりません。ReactやNext.jsを使用しているすべての組織は、直ちにバージョンを確認し、脆弱な場合は最新の安定版にアップグレードする必要があります。同時に、ログを監視し、侵害の兆候がないか確認し、侵害が疑われる場合は直ちにインシデント対応を開始してください。
この脆弱性は、最新技術を採用する際のセキュリティリスクと、迅速なパッチ適用の重要性を改めて示しています。React Server Componentsは強力な機能ですが、その実装には重大な欠陥が含まれていました。開発者とセキュリティチームは、新機能の採用とセキュリティのバランスを常に意識し、脆弱性情報に敏感であり続ける必要があります。今回の教訓を活かし、将来の同様の脅威に対してより迅速に対応できる体制を整えましょう。



コメント