React / Next.js 利用企業は必読!深刻な脆弱性と対策まとめ:CVE-2025-55182・66478 Post Thumbnail

React / Next.js 利用企業は必読!深刻な脆弱性と対策まとめ:CVE-2025-55182・66478

React と Next.js フレームワークにおいて、最も危険度が高い CVSS スコア「10」の深刻な脆弱性が公開されました。 本記事では、この脆弱性の内容をわかりやすく整理し、自社サービスが影響を受けるかどうかの確認方法と、安全にパッチを適用する手順について解説します。

Q1. React / NextJS の脆弱性(CVE-2025-55182 / CVE-2025-66478)とは?

React Server Components(RSC)関連パッケージに、認証なしでリモートコード実行(RCE)が可能になる脆弱性が発見されました。このパッケージは NextJS 内部でも使用されているため、NextJS プロジェクトにも影響が及ぶ可能性があります。


Q2. 自分の NextJS プロジェクトが脆弱なバージョンかどうかを確認するには?

npx next --version または
npm ls react-server-dom-*
を実行することで、NextJS のバージョンと RSC 関連パッケージの有無を確認できます。


Q3. 脆弱性の影響を受ける NextJS のバージョンは?

以下のバージョンが該当します。

  • Next.js 15.x

  • Next.js 16.x

  • Next.js 14.3.0-canary.77 以降の Canary リリース


Q4. この問題を解決するためにはどのバージョンに更新すべき?

NextJS は 15.5.7 や 16.0.7 などで脆弱性を修正しています。
npm install next@latest で最新の安全なバージョンへ更新することを推奨します。


Q5. すぐにパッチを適用できない場合は?

ネットワーク、ミドルウェア、WAF レベルで RSC 関連エンドポイントへのアクセスをブロックし、リクエスト検証を強化することで、一時的な防御策を講じることができます。


React と NextJS のバージョンを必ず確認し、利用可能なパッチを適用してください

概要

React のコアパッケージにおいて、認証不要のリモートコード実行(RCE) が可能となる重大な脆弱性が公開されました。
NextJS も内部でこれらのパッケージを利用しているため、NextJS を利用するサービスは早急にバージョン確認とパッチ適用が必要です。

対策のポイント:

  1. npx next --versionnpm ls react-server-dom-* を実行し、NextJS および RSC 関連パッケージのバージョンを確認する。
  2. 影響を受ける場合は Next 16.0.7 / 15.5.7 などのパッチ版へ更新し、ローカルビルドを確認した上でデプロイする。
  3. すぐに更新できない環境では、ネットワーク/WAF/ミドルウェアで RSC 関連ルートを制限する。

NextJS — 影響を受けるバージョン

以下のバージョンが脆弱性の影響を受けます:

  • Next.js 15.x

  • Next.js 16.x

  • Next.js 14.3.0-canary.77 以降の Canary 版

バージョン確認:

npx next --version

React — 影響を受けるバージョンと関連パッケージ

RSC 関連の脆弱性は以下の React バージョンに該当します。

  • React 19.0, 19.1.0, 19.1.1, 19.2.0

関連パッケージ:

  • react-server-dom-webpack

  • react-server-dom-parcel

  • react-server-dom-turbopack

使用状況の確認:

npm ls react-server-dom-parcel
npm ls react-server-dom-webpack
npm ls react-server-dom-turbopack

依存関係の追跡:

npm why react-server-dom-parcel
npm why react-server-dom-webpack
npm why react-server-dom-turbopack

NextJS — 修正版がリリースされているバージョン

Stable(安定版)

  • 15.0.5

  • 15.1.9

  • 15.2.6

  • 15.3.6

  • 15.4.8

  • 15.5.7

  • 16.0.7

Canary

  • 15.6.0-canary.58

  • 16.1.0-canary.12

これ以前のバージョンを利用している場合、早急に更新することを強く推奨します。


最新バージョンへの更新方法(対処方法)

1. 最新バージョンの確認

npm view next version

2025年12月7日時点では next@16.0.7 が最新の修正版です。

2. 既存依存パッケージのクリーンアップ(推奨)

rm -rf node_modules package-lock.json

Windows:

Remove-Item -Recurse -Force node_modules
Remove-Item -Force package-lock.json

3. NextJS の更新

npm install next@latest

もし next-intl などの React バージョンに依存するパッケージを使っている場合、以下のようにまとめて更新できます:

npm install next@latest react@18 react-dom@18 next-intl@latest @ant-design/nextjs-registry@latest

4. インストールされたバージョンの確認

npm list next

5. ビルド&動作確認

npm run build

確認ポイント:

  • ローカルビルドが成功する

  • 各ページ・API ルートが正常動作

  • RSC 関連の描画・データ取得に問題がない


パッチ適用時の追加注意事項

Next 16 における ESLint 設定の変更

Next 16 では next.config.ts 内で ESLint 設定を行うオプションが削除されました。
以下のブロックは削除する必要があります。

(Before )

const nextConfig: NextConfig = {
  output: 'standalone',
  productionBrowserSourceMaps: false,
  reactStrictMode: false,
  eslint: {
    ignoreDuringBuilds: true,
  },
  compiler: {
    styledComponents: {
      ssr: true,
      displayName: !isProd,
      pure: true
    },
    ...(isProd && {
      removeConsole: {
        exclude: ["error", "warn"],
      },
    }),
  },

( After )

const nextConfig: NextConfig = {
  output: 'standalone',
  productionBrowserSourceMaps: false,
  reactStrictMode: false,
  // --------------------------------- delete block --
  // eslint: {
  //   ignoreDuringBuilds: true,
  // },
  // ---------------------------------------------------
  compiler: {
    styledComponents: {
      ssr: true,
      displayName: !isProd,
      pure: true
    },
    ...(isProd && {
      removeConsole: {
        exclude: ["error", "warn"],
      },
    }),
  },

また、ESLint 設定は .eslintrc や CI パイプライン側で管理する必要があります。


用語解説

CVE(Common Vulnerabilities and Exposures)

CVE-2025-55182 のように、脆弱性に付与される国際的な識別番号です。
これにより、開発者やセキュリティチームが同じ脆弱性について共通認識を持つことができます。

CVSS(Common Vulnerability Scoring System)

脆弱性の危険度を 0〜10 のスコアで評価する国際基準です。
10 は最も深刻なレベル を意味します。


まとめ

今回の脆弱性は デフォルト設定の React Server Components(RSC)や NextJS でも、認証不要で RCE が実行可能になる極めて深刻な問題 です。
公開後すぐに PoC コードも広まり、攻撃リスクは急速に高まっています。

強く推奨される対策は以下の通りです:

  1. Next / React のバージョンと react-server-dom-* パッケージの有無を即確認する
  2. 修正版へできるかぎり早く更新し、更新が難しい場合は WAF やミドルウェアで RSC ルートを遮断する

参考資料

[1] NextJS Security Advisory
https://nextjs.org/blog/CVE-2025-66478

[2] React Official Blog — RSC Vulnerability Announcement
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components

[3] PoC Code
https://github.com/whiteov3rflow/CVE-2025-55182-poc

# React 脆弱性# Next.js セキュリティ問題# CVE-2025-55182# CVE-2025-66478# React Server Components 脆弱性# Next.js アップデート方法# RCE 脆弱性 React# Next.js パッチ 手順# react-server-dom-webpack 問題# React 重大なセキュリティ修正

完全マネージドCDNならWeekerp

完全マネージドCDNならWeekerp

今すぐ始める
M.J. Kang(カン・ミンジュン)'s profile image
M.J. Kang(カン・ミンジュン)

Weekerp代表。ITスタートアップの持続的な成長を支援し、「企業に時間を贈る」プロダクトを提供しています。