🛡️

【React / Next.js】RSC続報:結局なにをすればいいか(55183 / 55184 / 67779)

に公開2

最初に結論(やることだけ知りたい人向け)

React Server Components (RSC) まわりでは、

  • 2025年12月3日: RCE(リモートコード実行)脆弱性 CVE-2025-55182(React2Shell) が React公式から公表
  • 2025年12月11日: その追加調査の結果として、
    DoS 脆弱性 CVE-2025-55184 / CVE-2025-67779
    ソースコード露出の脆弱性 CVE-2025-55183 が新たに公開

…という流れで、短期間に複数の問題がまとめて明らかになりました。

どのプロジェクトが対象?

公式情報をざっくりまとめると、

対象になりうるプロジェクト

  • Next.js + App Router + React Server Components を使っているプロジェクト
  • Next.js 以外でも、react-server-dom-* 系パッケージで
    RSC をサーバー側で使っている React アプリ

対象にならないプロジェクト

Next.js だけじゃなく、RSC を使う React アプリ全般が対象。
でも、create-react-app や Vite で書いた「クライアント専用の React SPA」だけなら、
このコマンドを実行しても特に直すものは出てこない(=そもそも影響を受けていない)ケースが多い
です。

npx fix-react2shell-next は何をしてくれるのか

公式いわく:

One command to fix CVE-2025-66478 (React2Shell RCE) in your Next.js / React RSC app.

中身としては、

  • プロジェクト内の package.json をスキャンして
    • next
    • react-server-dom-webpack
    • react-server-dom-parcel
    • react-server-dom-turbopack

などの RSC関連パッケージのバージョンをチェック

  • 脆弱なバージョンだった場合、
    Next.js公式がブログで指定している「安全なバージョン」まで決め打ちで上げるというCLIです。

SPAだけのReactプロジェクトだとどうなる?

  • react-server-dom-*next も入っていない場合
    「No vulnerable packages found」的なメッセージを出して終わりです
  • つまり「壊れるわけじゃないけど、直す対象もない」状態。

追加で出た脆弱性は何か

細かい内容は公式ブログに譲りますが、超要約すると

  • CVE-2025-55184 / 67779
    → RSCのプロトコルに起因する DoS(サーバーがハングしてリクエストをさばけなくなる)
  • CVE-2025-55183
    → 特定パターンのリクエストで、Server Function のコンパイル済みソースコードが漏れる可能性

いずれも RCE ではない けれど、

  • サービス停止(DoS)
  • ソースコードや秘密情報の露出

につながるので、React / Next.js / Vercel / 各国の機関(JPCERT, IPA など)も
「前回パッチ済みの人も、もう一段アップデートして」と言っています。

やるべきことのまとめ

自分用メモとして書くなら、こんな TODO かと思っています。

  1. 使っているプロジェクトを洗い出す

    • Next.js + App Router + RSC を使っているプロジェクト
    • もしくは react-server-dom-* を使っている React アプリ
  2. 各リポジトリで:

    npx fix-react2shell-next
    
    npm ls next react
    

    でパッチ済みバージョンになっているか確認

    • CI / 本番を再ビルド & 再デプロイ
  3. 公開期間が長い本番サービスは:

    • .env / Vercel / 他ホスティングの環境変数にある
      DBパスワード・APIキー・OAuthシークレットなどのローテーションも検討

React2Shell のときと同じく、
まずは npx fix-react2shell-next を叩いたかどうか
最初のチェックポイントになりそうです。

GitHubで編集を提案

Discussion

nanaperika5460nanaperika5460

脆弱性があるっていうのは知ってたけど、なんか面倒くさくて詳しく調べてなかったんよね。
結論が先にあったおかげで、ようやく事態が理解できて急いでコマンド打ったよ。
何が起こったかはよく分からんかったけど、とりあえず感謝を伝えたい。ありがとう😊

div.sawadiv.sawa

コメントありがとうございます。お役に立ててよかったです✨
RSCを使っているサーバーが、外から自由にいじられる状態になっていたし、実際に悪用もされていたようです。情報のキャッチアップ大変ですが、お互い頑張りましょう!