2025年12月3日、React TeamがCVSS 10.0(最高深刻度)の脆弱性CVE-2025-55182を公開しました。Next.js、React Router、Expo等のReact Server Componentsを使用しているアプリは、認証なしでリモートコード実行(RCE)が可能になる重大な脆弱性の影響を受けます。
Next.js、React Router、Waku、Expoを使用している方は今すぐアップデートしてください。この記事では、影響確認と即座のアップデート方法を解説します。
【最重要】あなたのアプリは影響を受けるか?
影響を受けるパッケージ
以下のパッケージのバージョン19.0、19.1.0、19.1.1、19.2.0が脆弱性の影響を受けます:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack
React Server Functionエンドポイントを実装していなくても、React Server Componentsをサポートしている場合は脆弱性の影響を受ける可能性があります。
影響を受けるフレームワーク・バンドラー
以下のフレームワーク・バンドラーを使用している場合、脆弱性の影響を受けます:
- Next.js
- React Router
- Expo
- Waku
- @parcel/rsc
- @vitejs/plugin-rsc
- rwsdk
影響を受けないケース
以下の場合、この脆弱性の影響を受けません:
- アプリのReactコードがサーバーを使用していない
- React Server Componentsをサポートするフレームワーク・バンドラーを使用していない
即座のアップデート手順(フレームワーク別)
修正版は19.0.1、19.1.2、19.2.1で提供されています。以下のコマンドで即座にアップデートしてください。
Next.js
使用しているバージョンに応じて、以下のコマンドを実行:
# 15.0.x系
npm install next@15.0.5
# 15.1.x系
npm install next@15.1.9
# 15.2.x系
npm install next@15.2.6
# 15.3.x系
npm install next@15.3.6
# 15.4.x系
npm install next@15.4.8
# 15.5.x系
npm install next@15.5.7
# 16.0.x系
npm install next@16.0.7Next.js 14.3.0-canary.77以降のcanaryリリースを使用している場合は、最新の安定版14.xにダウングレード:
npm install next@14React Router
React RouterのunstableなRSC APIを使用している場合、以下をアップデート:
npm install react@latest
npm install react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
npm install @vitejs/plugin-rsc@latestExpo
詳細はExpoの公式changelogを確認してください。
Waku
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latestRedwood SDK
rwsdk>=1.0.0-alpha.0であることを確認:
# 最新ベータ版
npm install rwsdk@latest
# React Server DOMをアップデート
npm install react@latest react-dom@latest react-server-dom-webpack@latestその他のパッケージ
@vitejs/plugin-rsc:
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latestreact-server-dom-parcel:
npm install react@latest react-dom@latest react-server-dom-parcel@latestreact-server-dom-turbopack:
npm install react@latest react-dom@latest react-server-dom-turbopack@latestreact-server-dom-webpack:
npm install react@latest react-dom@latest react-server-dom-webpack@latest脆弱性の詳細(CVE-2025-55182)
CVSS 10.0の意味
CVSS(Common Vulnerability Scoring System)は脆弱性の深刻度を0.0〜10.0で評価する基準です。10.0は最高深刻度を意味し、以下の特徴があります:
- 攻撃の容易性:認証不要で攻撃可能
- 影響範囲:リモートから完全なシステム制御が可能
- 悪用の可能性:即座に悪用可能
RCE(リモートコード実行)とは
RCE(Remote Code Execution)は、攻撃者が遠隔地からサーバー上で任意のコードを実行できる脆弱性です。
具体的な攻撃シナリオ:
- 攻撃者が悪意のあるHTTPリクエストを作成
- React Server Functionエンドポイントに送信
- Reactがペイロードをデシリアライズする際に悪意のあるコードが実行
- サーバー上で任意のコマンドが実行可能に
認証が不要なため、誰でも攻撃が可能です。
React Server Componentsの仕組み
React Server Componentsは、クライアントからサーバー上の関数を呼び出す仕組みです:
- クライアントがHTTPリクエストに変換
- サーバーに転送
- サーバーがHTTPリクエストを関数呼び出しに変換
- 必要なデータをクライアントに返す
今回の脆弱性は、このステップ3のデシリアライズ処理に欠陥があり、悪意のあるコードを実行できてしまうものです。
タイムラインと今後の対応
脆弱性の発見から公開までのタイムライン:
- 11月29日:Lachlan DavidsonがMeta Bug Bounty経由で報告
- 11月30日:Metaセキュリティ研究者が確認し、React Teamが修正作業開始
- 12月1日:修正完了、ホスティングプロバイダーとの調整開始
- 12月3日:npmに修正版を公開、CVE-2025-55182として公開
重要な注意事項:
- 一部のホスティングプロバイダーは一時的な緩和策を適用していますが、これに依存せず即座にアップデートしてください
- 脆弱性の詳細は修正版の展開完了後に公開される予定です
まとめ:今すぐ実行すべきこと
React Server Componentsを使用している場合、今すぐ以下を実行してください:
- 影響確認:使用しているフレームワーク・パッケージが影響を受けるか確認
- 即座にアップデート:上記のコマンドで最新版にアップデート
- デプロイ:アップデート後、即座に本番環境にデプロイ
- 継続的な監視:公式ブログで追加情報を確認
CVSS 10.0の脆弱性は極めて深刻です。一時的な緩和策に頼らず、必ず最新版にアップデートしてください。
セキュリティをさらに強化する関連記事
Reactアプリのセキュリティを強化したら、開発環境全体のセキュリティも見直して、より安全な開発体制を構築しましょう:
セキュリティ・脆弱性対策
- npm Shai-Hulud感染チェック3分!11月21日以降にnpm installした人は今すぐ確認 – npmサプライチェーン攻撃対策
- OAuth=認可、OIDC=認証だけじゃ分からない!違いを5分で完全理解 – 認証・認可の正しい実装
開発ツール・効率化
- opencode – ターミナル向けAIコーディングエージェント!複数モデル対応で柔軟な開発支援を実現 – セキュアなコーディング環境
- QuickAgent – ノーコードでAIエージェントを構築・連携できる自動化プラットフォーム – セキュアなワークフロー自動化
