ニュース

「React」「Next.js」に重大なリモートコード実行の脆弱性、CVSSの基本値は「10.0」

一刻も早い対応を

「React」開発チームのアナウンス

 UIライブラリ「React」(React.js)および「Next.js」で、認証なしにリモートコード実行が可能になる重大なセキュリティ脆弱性「CVE-2025-55182」が存在することが明らかになった。この脆弱性は「React2Shell」とも呼ばれており、CVSSの基本値は満点の「10.0」。一刻も早い対応が必要だ。

 この脆弱性は、クライアントからサーバーの関数を呼び出す「React Server Functions」という機能に起因する。「React」はクライアント・サーバー間でこのリクエストをやりとりする際に一旦HTTPリクエストに変換する(シリアライズ・デシリアライズ)が、デシリアライズ処理に問題があり、「React Server Functions」エンドポイントに悪意のあるHTTPリクエストを送信することで悪意ある攻撃者がコードをサーバー上で実行できてしまう。

 影響を受けるコンポーネントは、以下の通り。v19.0、19.1.0、19.1.1、19.2.0に脆弱性が存在する。

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

 たとえアプリが「React Server Functions」エンドポイントを実装していなくても、サーバーサイドでコンポーネントをレンダリングする「React Server Components」をサポートしている場合は脆弱になる可能性がある点には注意が必要だ。

 なお、「Next.js」では本脆弱性に「CVE-2025-55182」という識別子が割り当てられているが、内容は同じとのこと。

 本脆弱性は11月29日、Lachlan Davidson氏によってMetaのバグ報奨プログラムに報告された。12月1日には修正コードが作成され、影響を受けるホスティングプロバイダーやオープンソースプロジェクトと協力して修正の検証、緩和策の実施、修正の展開を開始されている。

 すでに多くのホスティングサービスで実行時保護やファイヤーウォール(WAFルール)などの対策が実施済みで、脆弱性を検知するスキャナーもある。しかし、もっとも確実な対策は「React」「Next.js」を以下の対策済みバージョンへ更新することだ。

  • React:19.0.1、19.1.2、19.2.1
  • Next.js:15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、16.0.7

 一部で広まっている攻撃実証コード(PoC)は無効で、実際の脆弱性とは関係がないとのことなので注意したい。