はじめに
こんにちは。先週のCVE-2025-55182対応から一息つく間もなく、また緊急対応に追われた方も多いのではないでしょうか?
私も「さすがにもう大丈夫だろう」と思っていた矢先の通知でした。今回は前回の修正パッチを検証する過程で発見された 追加の脆弱性 です。
今回の脆弱性は 「前回対応した人も、もう一度アップデートが必要」 というものです。
Critical(RCE)ではありませんが、DoSやソースコード漏洩のリスクがあるため、早急な対応が求められます。
TL;DR(最初に結論)
React Server Components (RSC) に 2つの追加脆弱性 が発見されました。
前回19.0.2、19.1.3、19.2.2にアップデートした方も、パッチが不完全だったため再度更新が必要です。
Next.js 13.3以降(App Router使用) を使っている場合、今すぐ再アップデートしてください。
🛡️ 何が起きたのか?(CVE-2025-55184 / 55183 / 67779)
2025年12月11日、前回のCVE-2025-55182の修正パッチを検証していたセキュリティ研究者により、新たに2つの脆弱性が発見されました。
- CVE-2025-55184(DoS攻撃) - High Severity(CVSS 7.5)
- CVE-2025-55183(ソースコード漏洩) - Medium Severity(CVSS 5.3)
- CVE-2025-67779(追加のDoS) - 初期パッチが不完全だったため追加で公開
脆弱性の概要
CVE-2025-55184:DoS(サービス拒否)攻撃
悪意のあるHTTPリクエストを Server Functions エンドポイントに送信することで、React の処理中に 無限ループ が発生し、サーバープロセスがハングしてCPUを消費し続ける脆弱性です。
Server Functionsを明示的に使用していなくても、React Server Componentsをサポートしているアプリは影響を受ける可能性があります。
CVE-2025-55183:ソースコード漏洩
特定の条件下で、Server Actionのコンパイル済みソースコードが漏洩する脆弱性です。
ビジネスロジックが露呈する可能性がありますが、ソースコードに直接ハードコーディングされた秘密情報のみが対象で、process.env.SECRETなどの環境変数は影響を受けません。
⚠️ 重要:前回のパッチも不完全でした
前回CVE-2025-55182に対応して 19.0.2、19.1.3、19.2.2 にアップデートした方も、これらのバージョンは不完全で脆弱性が残っています。
必ず 19.0.3、19.1.4、19.2.3 以降に再アップデートしてください。
🤔 自分のプロジェクトは大丈夫?audit コマンドで確認しよう
前回同様、各パッケージマネージャーの audit コマンドで脆弱性を確認できます。
🥟 Bun の場合
bun audit
📦 npm の場合
npm audit
🧶 Yarn (v2+) の場合
yarn npm audit
🐙 pnpm の場合
pnpm audit
High または Critical として CVE-2025-55184、CVE-2025-55183、または CVE-2025-67779 が検出されたら、次のステップへ進んでください。
⚠️ 影響を受けるバージョンと修正版
クリックして詳細なバージョン対応表を開く
Next.js を使用している場合
App Router を使用しているプロジェクトのみ影響を受けます。Pages Router は影響ありません。
| 現在のバージョン (Affected) | 修正済みバージョン (Fixed) |
|---|---|
v13.3.x ~ v14.2.x
|
👉 v14.2.35 |
v15.0.x |
👉 v15.0.7 |
v15.1.x |
👉 v15.1.11 |
v15.2.x |
👉 v15.2.8 |
v15.3.x |
👉 v15.3.8 |
v15.4.x |
👉 v15.4.10 |
v15.5.x |
👉 v15.5.9 |
v16.0.x |
👉 v16.0.10 |
React 単体で使用している場合
以下のバージョンが脆弱性を含んでいます:
-
v19.0.0、v19.0.1、v19.0.2(前回パッチ版も含む) -
v19.1.0、v19.1.1、v19.1.2、v19.1.3(前回パッチ版も含む) -
v19.2.0、v19.2.1、v19.2.2(前回パッチ版も含む)
| 現在のバージョン (Affected) | 修正済みバージョン (Fixed) |
|---|---|
v19.0.x |
👉 v19.0.3 |
v19.1.x |
👉 v19.1.4 |
v19.2.x |
👉 v19.2.3 |
💻 【コピペ用】アップデートコマンド
前回対応済みの方も、必ず再度実行してください。
Next.js と同時に、依存関係にある react と react-dom も更新することを強く推奨します。
🥟 Bun の場合
# 最新版へアップデート
bun add next@latest react@latest react-dom@latest
# 特定バージョン(例: v15.5系)を維持したい場合
# bun add next@15.5.9 react@19.2.3 react-dom@19.2.3
📦 npm の場合
# 最新版へアップデート
npm install next@latest react@latest react-dom@latest
# 特定バージョン(例: v15.5系)を維持したい場合
# npm install next@15.5.9 react@19.2.3 react-dom@19.2.3
🧶 Yarn (v2+) の場合
# 最新版へアップデート
yarn upgrade next@latest react@latest react-dom@latest
🐙 pnpm の場合
# 最新版へアップデート
pnpm update next react react-dom --latest
✅ 対応後の確認
アップデートが終わったら、再度 audit コマンドを実行して脆弱性が消えていることを確認しましょう。
bun audit
# or npm audit / yarn npm audit / pnpm audit
0 vulnerabilities found のようなメッセージが出れば対応完了です。
おわりに
Critical CVEが公開された後、追加の脆弱性が発見されるのは業界全体で見られるパターンです。
Log4Shellの後にも同様の追加CVEが報告されました。これは決して珍しいことではなく、むしろセキュリティコミュニティが健全に機能している証拠と言えます。
とはいえ、連続での対応は精神的にも時間的にも負担が大きいですよね。
前回対応したばかりなのに「またか…」と思った方の気持ちは痛いほど分かります。
それでも、こうして迅速に情報をキャッチし、再対応しようとしている皆さんの姿勢こそが、サービスとユーザーを守る最後の砦です。
今回の記事が、少しでも皆さんの対応をスムーズにできたなら幸いです。
お疲れ様でした!
📚 参考リンク
- React公式ブログ(DoS & ソースコード漏洩): https://react.dev/blog/2025/12/11/denial-of-service-and-source-code-exposure-in-react-server-components
- Vercel セキュリティブリテン: https://vercel.com/kb/bulletin/security-bulletin-cve-2025-55184-and-cve-2025-55183
- CVE-2025-55184 (DoS): https://www.cve.org/CVERecord?id=CVE-2025-55184
- CVE-2025-55183 (Source Code Exposure): https://www.cve.org/CVERecord?id=CVE-2025-55183