9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【緊急】React Server Componentsに深刻な脆弱性(CVE-2025-55182)。今朝対応した記録と、安全なアップグレード手順【Next.js / Bun対応】

9
Last updated at Posted at 2025-12-04

はじめに

こんにちは。今朝、セキュリティアラートの通知で飛び起きた方も多いのではないでしょうか?
私もその一人です。Next.js (App Router) を採用しているプロダクトがあり、朝から冷や汗をかきながら緊急対応を行いました。

今回の脆弱性は 「知らないと危ないが、知っていればすぐ直せる」 ものです。
急な対応で疲弊している方もいるかと思いますが、この記事が少しでも作業の助けになれば幸いです。

TL;DR(最初に結論)
React Server Components (RSC) に Critical (深刻) な脆弱性が発見されました。
Next.js 15系・16系、または React 19 を使用している場合、今すぐアップデートが必要です。

🛡️ 何が起きたのか? (CVE-2025-55182 / 66478)

今回開示されたのは、以下の2つのCVEです。

  1. CVE-2025-55182 (React)
  2. CVE-2025-66478 (Next.js)

脆弱性の概要

技術的な詳細は 公式アドバイザリ に譲りますが、簡単に言うと 「React Server Components (RSC) の通信・処理における境界線の不備」 です。

RSCはサーバー側でレンダリングを行う強力な機能ですが、特定の条件下で攻撃者が意図しないデータアクセスや処理を実行できてしまう可能性があります。
特に Next.js の App Router はデフォルトで RSC が有効になっているため、設定を変更していない限り 広範囲のプロジェクトが影響を受けます。

🤔 自分のプロジェクトは大丈夫? audit コマンドで確認しよう

package.json を目視で確認するのも良いですが、まずは各パッケージマネージャーに搭載されている audit コマンドを実行するのが最も確実で早いです。
ターミナルで以下のコマンドを実行し、脆弱性が検出されるか確認してください。

🥟 Bun の場合

bun audit

📦 npm の場合

npm audit

🧶 Yarn (v2+) の場合

yarn npm audit

🐙 pnpm の場合

pnpm audit

High または Critical な脆弱性として GHSA-9qr9-h5gf-34mp (Next.js) や関連するCVEが検出されたら、次のステップに進んでください。

⚠️ 影響を受けるバージョンと修正版

auditコマンドで脆弱性が検出された、または手動で確認したい方向けに、影響バージョンと修正済みバージョンをまとめました。

クリックして詳細なバージョン対応表を開く

Next.js を使用している場合

15系、16系を使用している場合は、以下のパッチバージョン(またはそれ以降)へ更新してください。

現在のバージョン (Affected) 修正済みバージョン (Fixed)
v15.0.x 👉 v15.0.5
v15.1.x 👉 v15.1.9
v15.2.x 👉 v15.2.6
v15.3.x 👉 v15.3.6
v15.4.x 👉 v15.4.8
v15.5.x 👉 v15.5.7
v16.0.x 👉 v16.0.7

React 単体で使用している場合

フレームワークを使わず React 19 を直接導入している場合などが対象です。

現在のバージョン (Affected) 修正済みバージョン (Fixed)
v19.0.x 👉 v19.0.1
v19.1.x 👉 v19.1.2
v19.2.x 👉 v19.2.1

💻 【コピペ用】アップデートコマンド

脆弱性が確認されたら、以下のコマンドでパッケージを更新しましょう。
基本的には latest (最新) に上げるのが推奨ですが、バージョンを固定したい場合は適宜バージョン番号を指定してください。

Next.js と同時に、依存関係にある react と react-dom も更新することをお勧めします。

🥟 Bun の場合

# 最新版へアップデート
bun add next@latest react@latest react-dom@latest

# 特定バージョン(例: v15.5系)を維持したい場合
# bun add next@15.5.7 react@19.1.2 react-dom@19.1.2

📦 npm の場合

# 最新版へアップデート
npm install next@latest react@latest react-dom@latest

# 特定バージョン(例: v15.5系)を維持したい場合
# npm install next@15.5.7 react@19.1.2 react-dom@19.1.2

🧶 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 のようなメッセージが出れば対応完了です。
お疲れ様でした!

おわりに

脆弱性対応は、機能追加と違って「やって当たり前、やらないとマイナス」という性質があり、どうしても精神的な負担がかかりがちです。
しかし、こうして迅速に情報をキャッチし、対応しようとしている皆さんの行動が、ユーザーやサービスを守っています。

私も今朝は焦りましたが、無事デプロイまで完了してホッとしています。
もしこの記事が、忙しい皆さんの調査時間を1分でも短縮できたなら幸いです。

最後に、公式のアドバイザリリンクを貼っておきます。詳細が気になる方は一次情報をご確認ください。

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?