CVE-2025-55182 で再認識する責務分離の重要性
CVE-2025-55182(React2Shell)とは
CVE-2025-55182(通称 React2Shell)は、React Server Components(RSC)をサーバ側で処理する実装において、外部から送られてくるデータを安全でない形でデシリアライズしてしまうことにより、認証前にリモートコード実行(RCE)へ至り得る脆弱性です。
影響を受けるのはRSC関連パッケージで、具体的にはreact-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopackの19.0.0、19.1.0、19.1.1、19.2.0が脆弱とされています。修正は、19.0.1、19.1.2、19.2.1で提供されています。
何が危険だったのか(成立条件と影響範囲)
本件は一見フロントエンド領域の問題に見えますが、条件が揃うとサーバ側で任意コード実行(RCE)に至り得る点が本質的に危険です。React公式は本件をCVSS 10.0(最大)として公表しており、迅速に対処すべきです。場合によってはシステムダウンも選択肢として挙がる問題でしょう。
また、JPCERT/CC はPoC公開後に悪用事例が報告されていることや、国内での悪用も確認している旨を述べています。IPAもNext.js等の関連製品へ影響が波及し得ること、さらに国内で悪用が疑われる情報があるとして、早急な対策を注意喚起しています。
当社システムの前提
当社のシステムのうち、React/Next.jsを採用しているものは、表示層として部分的に利用しつつ、バックエンドは別システムとして分離しています。データ更新・外部連携・秘密情報の取り扱いといった権限を伴う処理はバックエンドに集約し、UI層に実行系の責務を持たせない方針です。
これにより、UI層で問題が発生しても、直ちにバックエンド側の権限領域へ波及しないよう、攻撃面と権限境界を設計で分離しています。
影響評価:なぜ当社は実害が出なかったか
当社では公開経路を棚卸しし、RSCの成立条件(RSC処理経路への到達)を満たさない構成であることを確認しました。現時点で侵害兆候は確認していません。ただし、到達性は構成や依存関係の変更で変わり得るため、リスクを確実に減らす目的で、修正版への即時アップデートを実施しました。
本記事は、脆弱性の概要と設計上の示唆に焦点を当てましたが、本件を正しく捉えるにはRSCの理解が欠かせません。RSCの仕組みと成立要件についてはまた次回以降の記事で取り上げられたらと思います。
株式会社オートプロジェクトでは、中小企業向けのシステム・アプリケーション開発 / 外注サービスを提供しております。
貴社のニーズに応じた柔軟なサポートを行いますので、ぜひお気軽にご相談ください。
