
React / Next.js 利用企業は必読!深刻な脆弱性と対策まとめ:CVE-2025-55182・66478
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 を利用するサービスは早急にバージョン確認とパッチ適用が必要です。
対策のポイント:
npx next --versionとnpm ls react-server-dom-*を実行し、NextJS および RSC 関連パッケージのバージョンを確認する。- 影響を受ける場合は Next 16.0.7 / 15.5.7 などのパッチ版へ更新し、ローカルビルドを確認した上でデプロイする。
- すぐに更新できない環境では、ネットワーク/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 コードも広まり、攻撃リスクは急速に高まっています。
強く推奨される対策は以下の通りです:
- Next / React のバージョンと
react-server-dom-*パッケージの有無を即確認する - 修正版へできるかぎり早く更新し、更新が難しい場合は 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
