React2Shell 続報 : 最新の2つの CVE について知っておくべきことと取るべき対策

Fastly のセキュリティリサーチチーム, Fastly

12月11日更新 :
本ブログの公開後、React Server Components において CVE-2025-55184 (下記参照) に対処するための修正が不完全であり、特定のケースではサービス妨害攻撃を防止できないことが判明しました。React Server Components のバージョン 19.0.2、19.1.3、19.2.2 では、HTTP リクエストから React Server Function エンドポイントへのペイロードを安全でない形でデシリアライズできてしまうため、この影響を受けます。この追加の脆弱性は CVE-2025-67779 として記録されており、最新の React バージョンはこちらから確認できます。
先週の重大度 Critical (緊急) の React2Shell CVE に続き、同様の Next.js および React コンポーネントを悪用する2件の新しい CVE が発表されました。この最新の発表によって状況はさらに緊迫し、各組織が影響を急いで評価する中、これらの基盤フレームワークの脆弱性曝露を特定してパッチを適用する必要性が改めて強調されています。
Fastly の利用者は影響を受けますか?
まず第一に、あなたが Fastly のお客様であれば、Fastly プロダクトの利用がこれらの脆弱性にさらされているかどうかを確認しようとしてここにたどり着いたのだと思われます。当初の評価は現在も変わりません。現時点では、Fastly のプラットフォームおよびアプリはこれらの脆弱性の影響を受けません。
ただし、Fastly が影響を受けないとしても、各組織は内部における影響範囲を独自に評価する必要がある点に留意してください。
React2Shell とは、また関連する最新の CVE とは?
React2Shell に関する情報を知りたい方のために、必要な情報をすべて網羅したブログを随時更新しています。
簡単にまとめると、12月3日に、Next.js および React コンポーネントの比較的新しいバージョンに影響する2件の Critical (緊急) な CVE (CVE-2025-55182 と CVE-2025-66478) が発表されました。これらの CVE (現在は総称して React2Shell と呼ばれています) は、攻撃者による事前認証なしでのリモートコード実行 (RCE) を可能にし、実際に悪用された場合、機密データや重要な認証キーなど「金鉱」とも言える情報が露出します。また、攻撃者は非常に大規模な攻撃を実行することができます。

React2Shell の発表以降、Fastly は広範なセキュリティコミュニティと緊密に連携し、仮想パッチの作成やデータ共有を行ってきました。また、React および Next.js アプリケーションを可能な限り早急に特定・更新し、攻撃の試みを未然に防ぐためのプロアクティブな防御策を適用する必要があることを広く訴えてきました。
何が変わったか?
12月11日、新たに2件の関連する CVE、CVE-2025-55183 および CVE-2025-55184 が発表されました。これらの脆弱性は、同様の Next.js および React Server Components を悪用するものですが、その目的は異なります。具体的には、関数ソースコードの露出 (情報漏洩) とサービス妨害攻撃 (DoS) であり、リモートコード実行ではありません。
これらの新しいCVEは、前述のReact2ShellのCVEほど深刻ではないかもしれません。しかし、これらの脆弱性が公開されたことで、すでに以前のCVEを探っている攻撃者は、後者のCVEを悪用しようとするのと同じように簡単に試みることができるようになりました。
CVE-2025-55183 とは?
攻撃者は CVE-2025-55183 を悪用することにより、React Server Function (RSF) のソースコードを公開することができますが、アプリケーション全体のソースコードが露出するわけではありません。そのため、この CVE が大きな影響を与える可能性があるのは、次の場合に限られます。
React Server Components を使用している
React Server Function (RSF) のソースコード内に機密情報や専有情報が含まれている
Fastly の分析では、攻撃者は主にこの CVE を偵察目的で利用すると考えられますが、アプリケーションへのより深いアクセスや任意の制御 (React2Shell で可能となるもの) を得るには、他の CVE (およびそれに必要なエクスプロイト) が必要です。
いずれにせよ、RSF を含め、アプリケーション内のいかなる場所にもシークレットをハードコーディングしないことを強く推奨します。RSF を使用している場合は、関数のソースコード内に専有情報や機密データが含まれていないかを確認するため、直ちに監査を実施してください。
CVE-2025-55184 とは?
この CVE は、特定のリクエストを細工することで、攻撃者が脆弱なアプリケーションサーバーを無限ループに陥らせることができる DoS を引き起こします。自動スケーリングや自動再起動の仕組みがない場合、攻撃者は特定のパターンのリクエストを送信することで、アプリケーションサーバーを無限ループに追い込み、CPU を消費させ、アプリケーションが復旧するまでダウンさせることが可能です。
アプリケーションをパッチ適用済みバージョンへアップグレードすることに加え、最新のインフラストラクチャ運用プラクティスを採用することで、CVE-2025-55184 の影響に対するレジリエンスを高めることもできます。Kubernetes のように、停止したインスタンス、ハングしたサーバー、トラフィックの急増に対応できる自動スケーリング構成は、このバグを完全に緩和することはできませんが、影響を軽減する可能性があります。自動スケーリングや自動再起動を使用している場合、アプリケーションサーバーは攻撃者の DoS リクエストを「生き延びる」ことができるかもしれません。ただし、攻撃が再度行われたり、アプリケーションの全インスタンスに同時に実行された場合は例外です。
今後は?– 4件すべての React2Shell CVE への対策
Fastly では、React2Shell に関連する活動が継続的かつ大量に発生していることを確認しており、攻撃者がこれら2件の新しい CVE についても迅速に試行を始めると見ています。今後も可能な限りインサイトを共有していきますが、業界や地域を問わず、脆弱なアプリケーションを保有するあらゆる組織は、少なくともすでに攻撃者による調査の対象になっており、悪用を試みられている可能性が高いと想定すべきです。
次に取るべきステップは?
組織にとって最優先事項は、脆弱性の影響範囲を評価し、React および Next.js をパッチ適用済みのバージョンへアップグレードすることです。React2Shell に関連する4件すべての CVE を確実に緩和する唯一の方法はシステムのアップグレードですが、お客様が影響範囲の評価や更新作業を進めている間、Fastly の Next-Gen WAF および Bot Management ソリューションは攻撃をブロックするための仮想パッチなどを提供します。
Fastly のチームは、可能な限りサポートいたします。パッチの展開作業を進めている間の即時のオンボーディングと保護については、CVE-alert@fastly.com までご連絡ください。