← ブログ一覧に戻る
セキュリティ2025-12-199 分

React2Shell(CVE-2025-55182)緊急解説|React/Next.jsの重大な脆弱性

CVSSスコア10.0の最大深刻度を持つReact Server Componentsの脆弱性React2Shell(CVE-2025-55182)について、技術的詳細、影響範囲、対策方法を解説します。

#React#Next.js#CVE#RCE#脆弱性#RSC

2025年12月3日に公開されたReact2Shell(CVE-2025-55182)は、React Server Components(RSC)に存在する認証不要のリモートコード実行(RCE)脆弱性です。CVSSスコア10.0(最大深刻度)を持ち、公開直後から国家支援の攻撃グループによる悪用が確認されています。

脆弱性の概要

項目内容
CVE IDCVE-2025-55182(React)、CVE-2025-66478(Next.js)
名称React2Shell
CVSSスコア10.0(Critical)
発見者Lachlan Davidson
報告日2025年11月29日
公開日2025年12月3日
脆弱性タイプ安全でないデシリアライゼーション

影響を受けるバージョン

React

影響バージョン修正バージョン
19.0.019.0.1
19.1.0, 19.1.119.1.2
19.2.019.2.1

Next.js

影響バージョン修正バージョン
15.x(App Router使用時)15.1.3以降
16.x(App Router使用時)16.0.1以降

重要: Pages Routerのみを使用している場合は影響を受けません。App RouterとReact Server Componentsを使用している場合のみ脆弱です。

技術的詳細

根本原因

この脆弱性は、React Server Components(RSC)の「Flight」プロトコルにおける安全でないデシリアライゼーションに起因します。

[攻撃者] → [悪意のあるHTTPリクエスト] → [RSC Flightプロトコル] → [デシリアライゼーション] → [RCE]

Server Functionsを呼び出す際、クライアントから送信されたデータがサーバー側で適切に検証されないまま処理されます。攻撃者は特別に細工されたHTTPリクエストを送信することで、サーバー上で任意のJavaScriptコードを実行できます。

攻撃の特徴

  • 認証不要: 攻撃に認証は必要ありません
  • デフォルト設定で脆弱: create-next-appで作成した標準構成が影響を受けます
  • 高い成功率: 攻撃の成功率はほぼ100%と報告されています
  • 単一リクエストで実行可能: 複雑な攻撃チェーンは不要

脆弱なコードの例

以下のような標準的なServer Functionの使用でも脆弱性が発生します:

// app/actions.ts
"use server"

export async function submitForm(data: FormData) {
  const name = data.get("name");
  // データベースへの保存など
  return { success: true };
}
// app/page.tsx
import { submitForm } from "./actions";

export default function Page() {
  return (
    <form action={submitForm}>
      <input name="name" />
      <button type="submit">送信</button>
    </form>
  );
}

この一見無害なコードでも、Flightプロトコルの脆弱性により攻撃が可能です。

悪用状況

タイムライン

日付イベント
2025年11月29日Lachlan DavidsonがMetaに報告
2025年12月3日脆弱性情報の公開
2025年12月3日(数時間後)中国関連の攻撃グループによる悪用開始
2025年12月5日CISAがKEV(Known Exploited Vulnerabilities)リストに追加
2025年12月5日以降クリプトマイニング目的の攻撃が増加

確認された攻撃グループ

複数のセキュリティベンダーの報告によると、以下の脅威アクターによる悪用が確認されています:

  • Earth Lamia: 中国関連のAPTグループ
  • Jackpot Panda: 中国関連の脅威グループ
  • イラン関連アクター: 複数のグループが参入
  • 金銭目的の攻撃者: XMRigによるクリプトマイニング

攻撃後の挙動

確認されている攻撃後の活動:

  1. SNOWLIGHT / VShell Trojanの展開: ファイルレス実行
  2. XMRigの展開: 暗号通貨マイニング
  3. Webシェルの設置: 永続的なアクセスの確保
  4. 横展開: 内部ネットワークへの侵入

影響範囲

Wiz社のデータによると、**クラウド環境の39%**がこの脆弱性の影響を受けるバージョンのNext.jsまたはReactを使用しています。

2024年のState of JavaScriptの調査では、回答者の82%がReactを使用していると報告されており、この脆弱性の潜在的な影響は非常に大きいと言えます。

対策方法

1. 即時アップデート(最優先)

# npmの場合
npm update react react-dom next

# yarnの場合
yarn upgrade react react-dom next

# pnpmの場合
pnpm update react react-dom next

修正バージョンを明示的に指定する場合:

npm install react@19.2.1 react-dom@19.2.1 next@15.1.3

2. バージョン確認

現在使用しているバージョンを確認:

npm list react react-dom next

またはpackage.jsonを確認:

{
  "dependencies": {
    "react": "^19.2.1",
    "react-dom": "^19.2.1",
    "next": "^15.1.3"
  }
}

3. 一時的な緩和策(アップデートできない場合)

Server Functionsの無効化

next.config.jsで設定:

// next.config.js
module.exports = {
  experimental: {
    serverActions: {
      enabled: false
    }
  }
}

注意: これによりServer Actions機能が使用できなくなります。

WAFルールの適用

各WAFベンダーが緊急ルールをリリースしています:

  • AWS WAF: AWSマネージドルールに追加済み
  • Cloudflare: マネージドルールで対応
  • Akamai: App & API Protectorで対応

4. 侵害の確認

ログの確認ポイント

# 不審なPOSTリクエストの検索
grep -E "POST.*/_next/|POST.*/api/" /var/log/nginx/access.log

# 異常なプロセスの確認
ps aux | grep -E "node|xmrig"

# 新規作成されたファイルの確認
find /var/www -type f -mtime -7 -name "*.js"

確認すべきIoC(Indicators of Compromise)

  • 不審な外部通信(特に中国・イランのIPアドレス)
  • 予期しないNode.jsプロセス
  • CPU使用率の異常な上昇(クリプトマイニング)
  • Webシェルファイルの存在

組織向けの推奨事項

セキュリティチーム向け

  1. 即時: 影響を受けるシステムの特定とアップデート
  2. 24時間以内: 侵害の兆候がないか確認
  3. 1週間以内: WAFルールの確認と強化
  4. 継続: 脅威インテリジェンスの監視

開発チーム向け

  1. 依存関係のアップデートプロセスを確認
  2. CI/CDパイプラインにセキュリティスキャンを追加
  3. npm auditまたはyarn auditの定期実行
# セキュリティ監査の実行
npm audit

# 自動修正(可能な場合)
npm audit fix

チェックリスト

  • React/Next.jsのバージョンを確認した
  • 修正バージョンにアップデートした
  • アップデート後、アプリケーションの動作を確認した
  • ログを確認し、侵害の兆候がないことを確認した
  • WAFルールが最新であることを確認した
  • 開発チームに周知した

参考リンク

まとめ

React2Shell(CVE-2025-55182)は、Reactエコシステム史上最も深刻な脆弱性の一つです。

対応の緊急度状況
最優先本番環境でReact 19.x / Next.js 15.x以降を使用している場合
開発・ステージング環境で該当バージョンを使用している場合
React 18.x以前のみを使用している場合(直接の影響なし)

公開から数時間で国家支援の攻撃グループによる悪用が開始されており、アップデートは一刻を争います。該当バージョンを使用している場合は、直ちにアップデートを実施してください。

RiskLensでは、お使いのWebアプリケーションのセキュリティ状態を診断できます。フレームワークのバージョン情報を含む包括的なセキュリティチェックをお試しください。

ドメインのセキュリティをチェック

この記事で学んだことを実践してみましょう。
無料でドメインのセキュリティリスクを診断できます。

無料で診断する