JFrog(ジェイフロッグ)、ReactとNext.jsの重大な脆弱性に関する警告を発し、修復戦略を提供

大手ソフトウェア企業であるJFrog(ジェイフロッグ)は、Reactの重大な脆弱性「React2Shell」に関するアップデートを提供した。正式名称がCVE-2025-55182であるこの脆弱性と、それに対応するNext.jsの脆弱性「CVE-2025-66478」は、Reactのメンテナーによって公開された。この脆弱性により、リモートの攻撃者、場合によっては認証されていない攻撃者による任意のコード実行が可能になる。これは、React Server Functionのエンドポイントへの悪意のあるHTTPリクエストによって実行され、Reactによってデシリアライズされると、サーバー上で任意のコードが実行される。デフォルト設定では、悪用成功率はほぼ100%と報告されている。

React Server Functionエンドポイントを使うReactサーバーは、React2Shellに対して脆弱であることが知られている。React Serverアプリケーションでは、アプリケーションのソースコードファイル内に「use server」ディレクティブが存在するかどうかを確認することで、この脆弱性を特定できる。このディレクティブは、Server Functionが定義されていることを示す。Reactのアドバイザリーでは、アプリがReact Server Functionエンドポイントを実装していない場合でも、React Server Componentsをサポートしている場合は脆弱性が存在する可能性があると述べられている。React Server Functionエンドポイントは使用されていないが、React Server Componentsがサポートされている場合にCVE-2025-55182が悪用される正確な条件は、現時点では不明だ。

App Routerを使うNext.jsウェブアプリケーションも、特にデフォルト設定において脆弱だ。例えば、標準の「create-next-app」コマンドでNext.jsアプリを作成し、推奨値を使うと、脆弱なアプリケーションが作成される。これらの値はNext.js App Routerを有効にし、脆弱なReact Server Functionエンドポイントへのアクセスを許可する。

これらの脆弱性を解決する確実な方法は、脆弱なパッケージを修正バージョンにアップグレードすることだ。すぐにアップグレードできない場合は、脆弱性を悪用できないようにする回避策がある。Next.jsアプリの場合、Next.js App Router移行ガイドに従って、ウェブアプリケーションをPages Routerを使う状態に戻すことができる。JFrogのプラットフォームであるXrayは、これらの脆弱性を追跡し、脆弱なReact/Next.jsパッケージを全て自動検出し、修正バージョンデータに基づいて優先順位付けされた修復パスを提供することで、包括的な可視性を提供する。

出典:JFrog