
CVE-2025-55182(“React2Shell”) は、React Server Components(RSC) 内、具体的には React Flight プロトコルの逆シリアル化ロジック における 重大なリモートコード実行(RCE) 脆弱性です。
React のサーバーサイドエンジンが、ブラウザから送信されるデータを誤って解析します。
攻撃者は、特別に細工された HTTP リクエストをサーバーに送信できます。
そのリクエストにより、React のサーバーランタイムが任意のサーバーサイド JavaScript を実行するように仕向けられます。
これにより攻撃者は以下のことが可能になります:
create-next-app ビルドであっても影響を受けます当サイトが React 19 または Next.js(App Router 使用) を利用している場合、パッチ適用までは脆弱であると想定する必要があります。
影響を受けるパッケージとバージョンの、検証済みの完全なリスト:
| パッケージ | 脆弱なバージョン | パッチ適用済みバージョン |
|---|---|---|
react-server-dom-webpack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
react-server-dom-parcel | 上記と同じ | 上記と同じ |
react-server-dom-turbopack | 上記と同じ | 上記と同じ |
これらのパッケージは React Server Components(RSC) に結びついており、これが根本原因です。
これらのフレームワークは内部で RSC を使用しているため、この脆弱性を受け継いでいます:
| フレームワーク / ツール | 影響あり? | 備考 |
|---|---|---|
| Next.js(App Router) | はい | 最も深刻な影響を受けます。この脆弱性は CVE-2025-66478 として追跡されていました(現在は CVE-2025-55182 に統合)。 |
| Vite RSC Plugin | はい | React Server Components を使用するすべてのインストール。 |
| Parcel RSC Plugin | はい | 同じ理由。 |
| React Router RSC Preview | はい | RSC サーバーロジックを同梱しています。 |
| RedwoodJS RSC (RedwoodSDK) | はい | RSC ランタイムを使用しています。 |
| Waku | はい | 実験的な RSC ベースのランタイムです。 |
| React 19 RSC サーバーをパッケージ化するすべてのフレームワーク | はい | 各社のセキュリティアドバイザリを確認する必要があります。 |
安全を維持するための、公式かつ完全なセキュリティガイダンスです。
パッチ適用済みバージョンへアップグレードしてください:
"react-server-dom-webpack": "19.0.1" or "19.1.2" or "19.2.1"
"react-server-dom-parcel": "same"
"react-server-dom-turbopack": "same"
実行:
npm install react-server-dom-webpack@latest react-server-dom-parcel@latest react-server-dom-turbopack@latest
パッチ適用済みの Next.js バージョンへアップグレードしてください:
| メジャーバージョン | 安全なバージョン |
|---|---|
| 14.x(安定版) | 最新の 14.x セキュリティリリース |
| 15.x | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 |
| 16.x | 16.0.7 |
実行:
npm install next@latest
代替ソリューション(一時的な修正。公式ドキュメントでは推奨度が低い)これらは問題を完全に修正するものでは ありません が、短期間だけ露出を軽減します:
以下の宛先への multipart/form-data POST リクエスト をブロックまたはレート制限します:
/app//actions攻撃者は、不正な形式の multipart チャンクを利用してエクスプロイトを発動させます。