
Reactチームは、先週公開された重大な修正(React2Shell)の有効性を研究者が検証する過程で、React Server Componentsに影響する追加のセキュリティ脆弱性が発見されたことを公表しました。今回新たに判明した問題はリモートコード実行(RCE)を可能にするものではありませんが、サービス拒否(DoS)攻撃やソースコード漏えいの可能性など、深刻なリスクを引き起こします。
その深刻性を踏まえ、早急なアップグレードを強く推奨します。
セキュリティ研究者は、CVE-2025-55182の影響を受けたものと同一のReact Server Componentsパッケージにおいて、2種類の新たな脆弱性クラスを特定しました。
CVE-2025-55184
CVE-2025-67779
CVSS Score: 7.5 (高)
悪意のある細工が施されたHTTPリクエストをServer Functionエンドポイントに送信することで、デシリアライズ処理中に無限ループが発生し、サーバープロセスが停止状態となり、CPU リソースを無制限に消費する可能性があります。
特筆すべき点として、Server Functionsを明示的に定義していないアプリケーションであっても、React Server Componentsをサポートしている場合は影響を受ける可能性があります。
この脆弱性により、攻撃者は以下を引き起こすことが可能です。
サービス可用性の低下・停止
サーバーパフォーマンスの劣化
インフラ全体への連鎖的な影響の発生
Reactチームは、従来の修正が不完全であったことを確認しており、最新リリース以前の一部修正済みバージョンが依然として脆弱な状態であったことを認めています。
CVE-2025-55183
CVSS スコア: 5.3 (中)
研究者により、特定の不正なリクエストによって、Server Functionsが引数を明示的または暗黙的に文字列化した際に、自身のソースコードを返してしまう可能性が確認されました。
これにより、以下の情報が漏えいする恐れがあります。
Server Functions内にハードコードされたシークレット
内部ロジックや実装の詳細
バンドラーの挙動によっては、インライン化されたヘルパー関数
重要な補足事項:漏えいする可能性があるのはソースコードレベルのシークレットのみであり、process.env.SECRETなどの実行時シークレットは影響を受けません。
本脆弱性は、先に公開されたReact Server Componentsの問題と同一のパッケージおよびバージョン範囲に影響します。
react-server-dom-webpack
react-server-dom-parcel
react-server-dom-turbopack
19.0.0 → 19.0.2
19.1.0 → 19.1.3
19.2.0 → 19.2.2
React チームは、以下のバージョンに修正をバックポートしています。
19.0.3
19.1.4
19.2.3
影響を受けるパッケージを使用している場合は、上記いずれかのバージョンへ直ちにアップグレードしてください。
⚠️注意
先週すでにアップデートを実施している場合でも、再度のアップグレードが必要です。
19.0.2、19.1.3、19.2.2 は完全には修正されておらず、安全ではありません。
以下のような一般的なフレームワークやツールは、脆弱なパッケージに依存、または同梱している可能性があります。
Next.js
React Router
Waku
@parcel/rsc
@vite/rsc-plugin
rwsdk
各フレームワークの公式アップグレード手順を参照し、正しい修正済みバージョンが適用されていることを確認してください。
以下の条件に該当するアプリケーションは影響を受けません。
サーバーを使用していないアプリケーション
React Server Components を使用していないアプリケーション
RSC をサポートするフレームワークやバンドラーを使用していないアプリケーション
React Nativeに関する注意点
モノレポ構成やreact-domを使用していないReact Nativeアプリケーションは、通常これらの脆弱性の影響を受けません。
モノレポ構成を採用しているReact Nativeプロジェクトの場合、以下のパッケージがインストールされている場合にのみ更新が必要です。
react-server-dom-webpack
react-server-dom-parcel
react-server-dom-turbopack
これらのパッケージのアップグレードは、reactやreact-domの更新を必要とせず、
React Nativeにおけるバージョン不整合の問題も発生しません。
修正済みバージョンへのアップグレードは必須ですが、今回の脆弱性は、将来のリスクを低減するために対応すべき、依存関係管理やシークレット管理におけるより広範な課題も明らかにしています。
影響を受けるすべてのアプリケーションは、以下の修正済みバージョンのいずれかへ直ちにアップグレードする必要があります。
19.0.3
19.1.4
19.2.3
これまでに公開されたパッチは不完全であり、ホスティングプロバイダーによる緩和策は一時的な防御策に過ぎません。修正済みバージョンへの更新こそが、唯一の信頼できる対策です。
モダンな JavaScript エコシステムでは、すべての依存関係に関するセキュリティアドバイザリを手動で追跡することは困難です。RenovateやDependabotなどのツールを利用することで、脆弱なバージョンを自動検出し、修正リリースと同時にアップグレード用のPull Requestを作成できます。
これにより、対応までの時間を短縮し、本番環境で部分的に修正された、または古いパッケージを使い続けるリスクを低減できます。
頻繁な依存関係アップデートは、信頼性の高い自動テストがあって初めて安全に実施できます。十分なテストカバレッジを備えた CI/CD パイプラインを維持することで、破壊的変更のリスクを抑えつつ、セキュリティ更新を迅速に適用できます。
これにより、新たな脆弱性が公開された際の 迅速な是正対応が可能になります。
ソースコードに直接埋め込まれたシークレットは、同様の脆弱性が再発した場合に漏えいする可能性があります。
推奨される対策は以下のとおりです。
AWS SSM Parameter StoreやAWS Secrets Managerなどのマネージドサービスを利用してシークレットを管理
ダウンタイムなしで実施可能なキーのローテーション機構 を導入
仮にソースコードが露出した場合でも、適切に管理された実行時シークレットにより、実際の被害は大きく抑えられます。
重大な脆弱性が公開されると、研究者が周辺のコードパスを検証する過程で、追加の問題が見つかることは珍しくありません。初回の修正がリリースされると、セキュリティ研究者は亜種の攻撃手法による回避を試みる傾向があります。このような流れは業界全体で繰り返し見られています。
代表的な例としてLog4Shellがあり、最初の公開後に複数の追加CVEが報告されました。追加の公開は煩雑に感じられることもありますが、通常は以下を示しています。
積極的なセキュリティレビュー
責任ある情報開示
健全なパッチ適用と検証のサイクル
一部のホスティング事業者は迅速な暫定対応を提供していますが、それだけでは十分とは言えません。依存関係を常に最新の状態に保つことが、サプライチェーンリスクから身を守る最も有効な手段であり続けます。
React Server Componentsを使用しているアプリケーションをお持ちの場合は、ぜひHaposoftまでご相談ください。
影響範囲の特定から、依存関係を一つずつ確認し、最終的に正しくビルドできる状態まで、混乱なくアップデート対応をサポートします。
