🚨
【Next.js】CVE-2025-66478対策は、とりあえず npx fix-react2shell-next した
なにがあったの?
2025年12月、React Server Components (RSC) 周りに
認証不要でリモートコード実行(RCE)ができてしまう致命的な脆弱性 が見つかりました。
- React側のCVE: CVE-2025-55182
- Next.js側のCVE: CVE-2025-66478(のちに 55182 の重複として扱われています)
結論:まず npx fix-react2shell-next
いろいろ読み込む前に、とりあえずこれだけはやっておく、というのが、以下のコマンドです。
npx fix-react2shell-next
実行の流れ
プロジェクトのルートで実行します。
npx fix-react2shell-next
- 対話形式で「このバージョンに上げますがいいですか?」と聞かれる
- OKすれば、
package.json / lockファイルが更新される - 終わったら
git diffで差分確認 → 問題なければコミット
※ すでに next@16.0.8 など、十分新しい&パッチ済みのバージョンを使っている場合は、
「特に変更なし」で終わることもあります。
もう少しだけちゃんと確認するなら
Next.jsのバージョンチェック
npm ls next
ざっくり、
- Next.js 15 / 16 + App Router + RSC を使っているなら、基本的に対象として見ておいた方が安全です。
- Next.js 13 や 14安定版のみ、Pages Routerのみのアプリなどは今回のケースでは影響外とされています。
詳細は公式ブログの「Affected and unaffected applications」セクションを参照。
シークレットのローテーションも検討
Next.js公式は、
2025-12-04 13:00 PT(日本時間だと 2025年12月5日 朝頃)の時点で、
脆弱な状態のままインターネット公開されていたアプリ
については、シークレット(環境変数)のローテーションを強く推奨しています。
.env/ デプロイ先で設定している各種APIキー- DBのユーザー名・パスワード
- OAuthクライアントシークレット など
必要に応じて、作り直しておくと安心です。
まとめ
- React Server Components まわりで、CVSS 10.0 の重大なRCE脆弱性が報告された
- Next.js 15 / 16 + App Router + RSC を使っているなら、基本的に要対応
- とりあえずやることはシンプルで、
npx fix-react2shell-nextをプロジェクト直下で実行 - 差分を確認して依存関係をアップデート
- 影響期間中に本番公開していたなら、シークレットの更新も検討
深掘りは後回しでも、
まずは「npx fix-react2shell-next を叩いたかどうか」だけは早めにクリアしておくのがよさそうです。
Discussion