
React Server Components における CVE-2025-55182 (React2Shell) RCE 脆弱性を検出します。高速かつ正確、誤検知ゼロのスキャナーです。
React Server Components における CVSS 10.0 の RCE。あなたの React 19 アプリは脆弱ですか?
CVE-2025-55182(React2Shell)向けの高速かつ高精度なスキャナーです。実環境で悪用されている重大なリモートコード実行の脆弱性を検出します。インテリジェントな Server Components 検出により誤検知ゼロを実現します。
React2Shell は、React Server Components における**最大深刻度(CVSS 10.0)**の脆弱性であり、認証なしのリモートコード実行を可能にします。攻撃者は、Server Function エンドポイントへの巧妙に細工された HTTP リクエストを通じてこれを悪用できます。
重要な事実:
⚠️ 重要な注意: 脆弱なのは React 19.x のみです。React 18.x 以前は影響を受けません。
# Option A: Node.js scanner (recommended - cross-platform, no dependencies)
npx react2shell-scanner /path/to/your/project
# Option B: Direct download and run
curl -sSL https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js > scan.js
node scan.js /path/to/your/project
# Option C: Clone and run
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
node scan.js /path/to/your/project
数秒で結果が得られます: 🚨 脆弱 | ⚠️ 警告 | ✅ 安全
このツールはインテリジェントな脆弱性検出を実行します。
'use server' ディレクティブをスキャンReact:
19.0.0、19.1.0、19.1.1、19.2.0React Server DOM パッケージ:
react-server-dom-webpack 19.0.0 - 19.2.0react-server-dom-parcel 19.0.0 - 19.2.0react-server-dom-turbopack 19.0.0 - 19.2.0Next.js:
14.0.0 から 14.2.3414.3.0-canary.0 から 14.3.0-canary.8715.0.0 から 15.0.615.1.0 から 15.1.815.2.0 から 15.2.515.3.0 から 15.3.515.4.0 から 15.4.715.5.0 から 影響を受ける追加フレームワーク(React 公式アドバイザリによる):
react-router 7.0.0 - 7.1.3waku 0.21.0 - 0.21.5@parcel/rsc 2.12.0 - 2.13.2@vitejs/plugin-rsc 0.1.0 - 0.2.0rwsdk(Redwood SDK)0.1.0 - 0.4.0expo 52.0.0 - 52.0.9React: 19.2.1 以降
Next.js:
14.2.35+、14.3.0-canary.88+15.0.7+、15.1.9+、15.2.6+、15.3.6+、15.4.8+、15.5.7+16.0.10+その他のフレームワーク:
react-router: 7.1.4+waku: 0.21.6+@parcel/rsc: 2.13.3+@vitejs/plugin-rsc: 0.2.1+rwsdk: 0.4.1+expo: 52.0.10+Node.js スキャナー(推奨):
Bash スキャナー:
# Install jq (if using Bash scanner)
# macOS
brew install jq
# Ubuntu/Debian
sudo apt-get install jq
# RHEL/CentOS
sudo yum install jq
オプション A: クローン(ユーザーに推奨)
# Clone the repository
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
# Make scripts executable
chmod +x scan.sh scan.js
オプション B: フォーク(コントリビューターに推奨)
# Fork on GitHub (click "Fork" button on repository page)
# Then clone your fork
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Make scripts executable
chmod +x scan.sh scan.js
# Add upstream remote to stay updated
git remote add upstream https://github.com/nxgn-kd01/react2shell-scanner.git
オプション C: 直接ダウンロード
# Node.js version (recommended - cross-platform)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js
chmod +x scan.js
# Bash version (Unix/Linux/macOS only)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.sh
chmod +x scan.sh
🔍 現在のディレクトリをスキャン:
# Using Node.js (recommended)
node scan.js
# Using Bash
./scan.sh
📁 特定のプロジェクトをスキャン:
node scan.js /path/to/project
./scan.sh /path/to/project
🗂️ 再帰スキャン(すべてのサブディレクトリ):
node scan.js -r
./scan.sh -r
JSON 出力(自動化用):
node scan.js --json
./scan.sh --json
CI/CD モード(脆弱な場合、コード 1 で終了):
node scan.js --ci
./scan.sh --ci
詳細出力:
node scan.js -v
./scan.sh -v
オプションの組み合わせ:
node scan.js /path/to/projects -r --json --ci
./scan.sh /path/to/projects -r --json --ci
| コード | 意味 |
|---|---|
| 0 | 脆弱性が見つかりませんでした |
| 1 | 脆弱性が見つかりました(--ci フラグ使用時) |
| 2 | スキャンエラーが発生しました |
$ node scan.js ~/my-react-app
╔════════════════════════════════════════════════════════════╗
║ CVE-2025-55182 Scanner (React2Shell) ║
╚════════════════════════════════════════════════════════════╝
Severity: CRITICAL (CVSS 10.0)
Description: Unauthenticated RCE in React Server Components
Scan Summary:
Total projects: 1
Vulnerable: 1
Safe: 0
⚠ VULNERABLE PROJECTS FOUND:
1. /Users/user/my-react-app
└─ react 19.0.0 → 19.2.1
└─ next 15.0.3 → 15.0.5
Fix command:
$ cd /Users/user/my-react-app
$ npm install [email protected] [email protected]
$ node scan.js ~/projects -r --json > results.json
{
"vulnerability": "CVE-2025-55182",
"severity": "CRITICAL",
"cvss": 10.0,
"scanned": 5,
"vulnerable": 2,
"results": [
{
"path": "/Users/user/projects/app1",
"vulnerable": true,
"packages": [
{
"name": "react",
"version": "19.0.0",
"fixVersion": "19.2.1"
}
],
"packageManager": "npm",
"fixCommands": [
"cd /Users/user/projects/app1",
"npm install [email protected]"
]
}
]
}
.github/workflows/security-scan.yml
name: CVE-2025-55182 Security Scan
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Download CVE-2025-55182 Scanner
run: |
curl -O https://raw.githubusercontent.com/nxgn-kd01/cve-2025-55182-scanner/main/scan.js
chmod +x scan.js
- name: Scan for vulnerabilities
run: node scan.js --ci
GitLab CI(.gitlab-ci.yml)
security-scan:
stage: test
image: node:18
script:
- curl -O https://raw.githubusercontent.com/nxgn-kd01/cve-2025-55182-scanner/main/scan.js
- chmod +x scan.js
- node scan.js --ci
allow_failure: false
スキャナーは以下のチェックを実行します:
package.json ファイルを見つけるdependencies と devDependencies の両方から'use server' ディレクティブを探す'use server' ディレクティブの存在(Server Functions の使用を示す)スキャナーには誤検知を防ぐためのインテリジェントな検出機能が含まれています:
output: 'export' を使用するプロジェクトは安全である可能性が高いとマーク'use server' ディレクティブをスキャンして、実際の Server Component の使用を確認出力例:
✓ No vulnerable projects found
ℹ Projects with analysis notes:
1. /path/to/project
ℹ Next.js ^15.1.3 is in vulnerable range, but using React 18 (safe - only React 19 affected)
2. /path/to/another-project
ℹ Next.js 16.0.5 with React 19 detected, but no 'use server' directives found (likely safe).
Note: dynamically imported Server Functions require manual review.
node scan.js -r
各脆弱なプロジェクトについて、提案された修正コマンドを実行します:
cd /path/to/project
npm install [email protected] [email protected] # Example
または yarn を使用する場合:
yarn upgrade [email protected] [email protected]
または pnpm を使用する場合:
pnpm update [email protected] [email protected]
npm test
npm run build
node scan.js --ci
A: 現在、スキャナーは package.json 内の直接依存関係をチェックします。深い依存関係スキャンには、このツールと組み合わせて npm audit または yarn audit を使用してください。
A: いいえ、React 18 は影響を受けません ✅
CVE-2025-55182 は React 19.x の Server Components にのみ影響します。スキャナーは、脆弱な範囲内にある Next.js 15.x または 16.x を使用している場合でも、React 18 アプリを安全として正しく識別します。
A: はい! --ci フラグを使用すると、脆弱性が見つかった場合にスキャナーがコード 1 で終了し、パイプラインが失敗します。上記の CI/CD 統合の例を参照してください。
A: 一時的な緩和策(アップグレードが唯一の決定的な修正です):
⚠️ 重要: これらは一時的な対策にすぎません。できるだけ早くパッチ適用済みバージョンにアップグレードしてください。
A: インテリジェントな誤検知防止機能により非常に高精度です:
'use server' ディレクティブをスキャンして実際の脆弱性を確認A: スキャナーはソースファイル内の 'use server' ディレクティブを検出します。ただし、動的にインポートされた Server Functions(import() で実行時に読み込まれるもの)は静的に検出されない場合があります。スキャナーが「'use server' ディレクティブが見つかりませんでした」と報告しても、Server Functions に動的インポートを使用している場合は、それらのファイルを手動でレビューしてください。スキャナーにはこの点を思い出させる注記が含まれます。
コントリビューションを歓迎します! お気軽に issue またはプルリクエストを送信してください。
# Test on sample projects
./test-scanner.sh
このスキャナーは、React 公式アドバイザリに従って、RSC を有効にしたすべての主要フレームワークを検出します:
追加のフレームワークについては、issue を開くか PR を送信してください。
MIT ライセンス - 詳細は LICENSE ファイルを参照してください
このツールは、脆弱なプロジェクトの特定を支援するためにコミュニティへ現状のまま(as-is)提供されます。本番環境にデプロイする前に、スキャナー結果を常に検証し、更新を安全な環境でテストしてください。
このツールが役立つと思われた場合は、以下をお願いします:
安全を確保し、依存関係を最新の状態に保ってください!
| プロパティ | 値 |
|---|
| CVE ID | CVE-2025-55182 |
| 名前 | React2Shell |
| CVSS スコア | 10.0(CRITICAL) |
| CVSS ベクトル | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| 攻撃ベクトル | ネットワーク |
| 認証 | 不要 |
| 影響 | システム完全侵害 |
15.5.616.0.0 から 16.0.9| オプション | 説明 |
|---|
-r, --recursive | Node.js プロジェクトのすべてのサブディレクトリをスキャン |
-v, --verbose | 詳細な出力を表示 |
--json | 結果を JSON として出力 |
--ci | 脆弱性が見つかった場合、コード 1 で終了(CI/CD 用) |
-h, --help | ヘルプメッセージを表示 |