🛡️
【React / Next.js】RSC続報:結局なにをすればいいか(55183 / 55184 / 67779)
最初に結論(やることだけ知りたい人向け)
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をスキャンしてnextreact-server-dom-webpackreact-server-dom-parcelreact-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 かと思っています。
-
使っているプロジェクトを洗い出す
- Next.js + App Router + RSC を使っているプロジェクト
- もしくは
react-server-dom-*を使っている React アプリ
-
各リポジトリで:
npx fix-react2shell-nextnpm ls next reactでパッチ済みバージョンになっているか確認
- CI / 本番を再ビルド & 再デプロイ
-
公開期間が長い本番サービスは:
-
.env/ Vercel / 他ホスティングの環境変数にある
DBパスワード・APIキー・OAuthシークレットなどのローテーションも検討
-
React2Shell のときと同じく、
まずは npx fix-react2shell-next を叩いたかどうかが
最初のチェックポイントになりそうです。
Discussion
脆弱性があるっていうのは知ってたけど、なんか面倒くさくて詳しく調べてなかったんよね。
結論が先にあったおかげで、ようやく事態が理解できて急いでコマンド打ったよ。
何が起こったかはよく分からんかったけど、とりあえず感謝を伝えたい。ありがとう😊
コメントありがとうございます。お役に立ててよかったです✨
RSCを使っているサーバーが、外から自由にいじられる状態になっていたし、実際に悪用もされていたようです。情報のキャッチアップ大変ですが、お互い頑張りましょう!