
React Server Components(RSC)を使用する React および Next.js プロジェクトにおける CVE-2025-55182 および CVE-2025-66478 の脆弱性を検出する総合セキュリティスキャンツールです。
このツールは、リモートコード実行(RCE) 攻撃に対して脆弱な React、Next.js、および関連する RSC パッケージのバージョンをプロジェクトからスキャンします。この脆弱性により、認証されていない攻撃者がサーバー上で任意のコードを実行できる可能性があります。
⚠️ 重大な警告: 2025年12月現在、クラウド環境の約 39% に脆弱なバージョンの Next.js または React が含まれています。React Server Components を使用している場合は直ちに対処が必要です。
node_modules をスキャンして脆弱なパッケージバージョンを検出"use server" ディレクティブを検出check.js をダウンロードします:git clone https://github.com/yourusername/check-react-rce-cve-2025-55182.git
cd /path/to/your/project
node /path/to/check.js
check.js をプロジェクト内に直接コピーして実行することもできます:
node check.js
===========================================================================
REACT RCE VULNERABILITY SCANNER (CVE-2025-55182)
===========================================================================
Scanning installed packages...
Starting Deep Codebase Scanning...
===========================================================================
AUDIT REPORT
===========================================================================
[CVE-2025-55182] React Vulnerability
---------------------------------------------------------------------------
react : 19.0.0 VULNERABLE (React 19.0.0 < 19.0.1)
react-server-dom-webpack : 19.0.0 VULNERABLE (19.0.0 < 19.0.1)
[CVE-2025-66478] Next.js Vulnerability
---------------------------------------------------------------------------
next : 15.0.3 VULNERABLE (v15.0.x < 15.0.5)
[Project Analysis]
---------------------------------------------------------------------------
Router Type : App Router (RSC-enabled)
Server Actions Usage : Detected (5 files)
===========================================================================
RISK CONCLUSION: CRITICAL (CVSS 10.0 - Remote Code Execution)
===========================================================================
⚠ ACTION REQUIRED:
Your project uses React Server Components with vulnerable packages.
This vulnerability allows unauthenticated remote code execution.
Vulnerable packages: react, next, react-server-dom-webpack
Run the following commands to patch:
> npm install react@latest react-dom@latest
> npm install next@latest
> npm update react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack
| レベル | 説明 |
|---|---|
| 🔴 CRITICAL | 脆弱なパッケージが検出され、RSC 機能が使用中。直ちに対処が必要。 |
| 🟡 MEDIUM | 脆弱なパッケージが検出されたが、RSC は積極的に検出されていない。アップデート推奨。 |
| 🟢 SAFE | 脆弱なパッケージなし、または RSC サポート以前のバージョンを使用。 |
以下の構成はこれらの脆弱性の 影響を受けません:
深刻度: CRITICAL(CVSS 10.0)
影響を受けるパッケージ:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack脆弱性タイプ: 安全でないデシリアライゼーション
説明:
React Server Components(RSC)に不可欠な react-server パッケージに、重大なリモートコード実行(RCE)脆弱性が存在します。この欠陥は、RSC「Flight」プロトコル内の安全でないデシリアライゼーションの脆弱性に起因します。
この脆弱性により、認証されていない攻撃者が、任意のサーバー関数エンドポイントに対して特別に細工された HTTP リクエストを送信することで、サーバー上でリモートコード実行を達成できます。React Server Components をサポートしている場合、React サーバー関数エンドポイントを明示的に実装していないアプリケーションでも、この脆弱性の影響を受ける可能性があります。これは脆弱性がデフォルト設定に影響を与えるためです。
攻撃ベクトル:
影響:
参考情報:
深刻度: CRITICAL(CVSS 10.0)
影響を受けるパッケージ: next
脆弱性タイプ: 安全でないデシリアライゼーション(React RSC から継承)
説明: Next.js における重大なリモートコード実行脆弱性は、App Router と React Server Components を使用するアプリケーションに影響します。この脆弱性は CVE-2025-55182 の下流での発現であり、Next.js が React Flight プロトコルの実装を通じてその欠陥を継承するために発生します。
この脆弱性により、認証されていない攻撃者は、RSC ペイロードの安全でない処理を悪用する特別に細工された HTTP リクエストを送信することで、影響を受けるサーバー上で任意のコードを実行できます。
攻撃ベクトル:
影響:
参考情報:
React Flight プロトコルの脆弱性は、React Server Components を実装するすべてのフレームワークやバンドラーに影響します。プロジェクトが以下のいずれかを使用している場合は、React パッケージが修正されていることを確認してください:
React Server Components を使用するアプリケーションはすべて潜在的に脆弱です。 コアの脆弱性は React の RSC 実装に存在するため、使用するフレームワークに関係なく、React パッケージ(
react、react-dom、react-server-dom-*)を修正済みバージョンに更新する必要があります。
主要なクラウドプロバイダーは、これらの脆弱性に対する保護のために Web アプリケーションファイアウォール(WAF)ルールを積極的に展開しています。ただし、WAF 保護は一時的な措置であり、アプリケーションの修正を不要にするものではありません。
Cloudflare は CVE-2025-55182 の悪用試行を自動的にブロックする新しい WAF ルールを展開しました。React アプリケーションのトラフィックが Cloudflare を経由するすべての顧客は自動的に保護されます。
保護を確認するには:
| 機能 | 詳細 |
|---|---|
| ステータス | ✅ 保護済み |
| ルールセット |
AWS は、CVE-2025-55182 に対する更新ルールを AWS WAF マネージドルールセットのデフォルトバージョン(1.24)に統合しました。
保護を有効にするには:
# AWS コンソールでルールセットバージョンを確認
# Security → WAF → Web ACLs → [Your ACL] → Rules
カスタムルールオプション: 即時保護のために、悪用試行を検出・防止するカスタム AWS WAF ルールを展開できます:
{
"Name": "BlockReactRCE",
"Priority": 0,
"Statement": {
"ByteMatchStatement": {
"SearchString": "rsc-payload-exploit-pattern",
"FieldToMatch": { "Body": {} },
"TextTransformations": [{ "Priority": 0, "Type": "NONE" }],
"PositionalConstraint": "CONTAINS"
}
},
"Action": { "Block": {} }
}
注: マネージド AWS サービスは一般的に影響を受けませんが、ご自身の環境で脆弱な React/Next.js バージョンを実行しているアプリケーションは直ちに更新する必要があります。
| 機能 | 詳細 |
|---|---|
| ステータス | ✅ 保護済み |
| ルールセット | Default Rule Set(DRS)2.1 |
| 対象範囲 | Azure WAF 顧客 |
最新の Default Rule Set(DRS)2.1 を使用する Azure WAF は、この脆弱性の悪用試行の一部を検出できます。
保護を有効にするには:
カスタムルールの例: 組織はエクスプロイトパターンをブロックするために特別に調整されたカスタム WAF ルールを作成できます。Azure は本番環境への展開前にテスト環境でカスタムルールを検証することを推奨します。
| 機能 | 詳細 |
|---|---|
| ステータス | ✅ 保護済み |
| サービス | Cloud Armor |
| 対象範囲 | Cloud Armor 顧客 |
| 必要なアクション |
Google Cloud Armor は、事前設定された WAF ルールを通じて保護を提供し、カスタムセキュリティポリシーで構成できます。
保護を有効にするには:
| 機能 | 詳細 |
|---|---|
| ステータス | ✅ 保護済み |
| 対象範囲 | すべての Vercel デプロイメント |
| 必要なアクション | それでも Next.js を修正済みバージョンに更新する必要あり |
Vercel はホストされたアプリケーションを保護するためにプラットフォームレベルの緩和策を実装しました。ただし、Vercel は Next.js の修正済みバージョンへの更新を強く推奨します。
⚠️ WAF 保護は一時的な措置です。 すべてのクラウドプロバイダーが次の点を強調しています:
- WAF は脆弱性を修正しません - 既知のエクスプロイトパターンをブロックするだけです
- 攻撃者は WAF を迂回する可能性があります - 新しいエクスプロイトの変種が検出を回避する可能性があります
- 修正は必須です - 直ちに修正済みバージョンに更新してください
- アプリケーションを再構築する - アップグレード後、修正済みの依存関係が使用されるように再構築してください
プロジェクトディレクトリで以下のコマンドを実行します:
# React パッケージの更新
npm install react@latest react-dom@latest
# Next.js の更新(使用している場合)
npm install next@latest
# RSC パッケージの更新(存在する場合)
npm update react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack
# 重要: アプリケーションを再構築する
npm run build
更新後、再度スキャナーを実行してすべての脆弱性が修正されたことを確認します:
node check.js
期待される出力:
RISK CONCLUSION: SAFE
✓ Your system is safe from CVE-2025-55182 and CVE-2025-66478.
MIT License - 詳細は LICENSE を参照してください。
安全を確保しましょう!🔐
| パッケージ | 説明 |
|---|
react | コア React ライブラリ |
next | Next.js フレームワーク |
react-server-dom-webpack | RSC Webpack 統合 |
react-server-dom-parcel | RSC Parcel 統合 |
react-server-dom-turbopack | RSC Turbopack 統合 |
| ステータス | 意味 |
|---|
VULNERABLE | パッケージバージョンが CVE の影響を受ける |
SAFE | パッケージが修正済みバージョンに更新されている |
SAFE_CLASSIC | パッケージバージョンが RSC より前(影響なし) |
NOT INSTALLED | プロジェクト内にパッケージが見つからない |
UNKNOWN | バージョンステータスを判別できない |
| ブランチ |
|---|
| 脆弱なバージョン |
|---|
| 修正済みバージョン |
|---|
| React 19.0.x | 19.0.0 | ≥ 19.0.1 |
| React 19.1.x | 19.1.0, 19.1.1 | ≥ 19.1.2 |
| React 19.2.x | 19.2.0 | ≥ 19.2.1 |
| React 18.x 以前 | — | 影響なし(RSC 非対応) |
| ブランチ | 修正済みバージョン |
|---|
| Next.js 16.0.x | ≥ 16.0.7 |
| Next.js 15.5.x | ≥ 15.5.7 |
| Next.js 15.4.x | ≥ 15.4.8 |
| Next.js 15.3.x | ≥ 15.3.6 |
| Next.js 15.2.x | ≥ 15.2.6 |
| Next.js 15.1.x | ≥ 15.1.9 |
| Next.js 15.0.x | ≥ 15.0.5 |
| Next.js 14.3.0-canary.77+ | ⚠️ 脆弱(Flight プロトコルを含む canary) |
| Next.js 14.x(安定版) | 影響なし |
| Next.js 13.x | 影響なし |
| フレームワーク/ツール | ステータス | 備考 |
|---|
| Next.js | ⚠️ 影響あり | RSC を使用する主要フレームワーク。修正済みバージョンに更新してください。 |
| React Router | ⚠️ 影響あり | RSC モードの場合、React パッケージが更新されていることを確認してください。 |
| Waku | ⚠️ 影響あり | 最小限の RSC フレームワーク。修正済みの React バージョンを使用する必要があります。 |
| RedwoodJS (rwsdk) | ⚠️ 影響あり | rwsdk は RSC を使用します。React パッケージが修正されていることを確認してください。 |
| Parcel | ⚠️ 影響あり | @parcel/rsc を使用している場合、React パッケージを確認してください。 |
| Vite | ⚠️ 影響あり | @vitejs/plugin-rsc を使用している場合、React パッケージを確認してください。 |
| Remix | ⚠️ 影響を受ける可能性あり | 実験的な RSC 機能を使用している場合、React が修正されていることを確認してください。 |
| 機能 | 詳細 |
|---|
| ステータス | ✅ 保護済み |
| 対象範囲 | すべての顧客(Free、Pro、Business、Enterprise) |
| 必要条件 | トラフィックが Cloudflare WAF を通過する必要がある |
| 必要なアクション | Managed Rules が有効になっていることを確認(Pro/Enterprise) |
| 注意 | Cloudflare Workers は本質的にこのエクスプロイトの影響を受けません |
AWSManagedRulesKnownBadInputsRuleSet(v1.24+) |
| 対象範囲 | マネージドルールを使用する AWS WAF 顧客 |
| 必要なアクション | ルールセットバージョンが 1.24 以降であることを確認 |
| DRS 2.1 を使用していることを確認するか、カスタムルールを作成 |
| 事前設定された WAF ルールを有効にする |
| 日付 | イベント |
|---|
| 2025年12月3日 | セキュリティ研究者により脆弱性が公開 |
| 2025年12月3日 | CVE-2025-55182 および CVE-2025-66478 が割り当てられる |
| 2025年12月3日 | React チームがセキュリティ速報を公開 |
| 2025年12月3日 | React および Next.js チームが修正をリリース |
| 2025年12月3日 | クラウドプロバイダーが WAF 保護を展開 |
| 2025年12月3日 | 実際の悪用の報告はなし |