React Native、開発用CLIに重大な脆弱性-CVE-2025-11953

セキュリティニュース

投稿日時: 更新日時:

React Native、開発用CLIに重大な脆弱性-CVE-2025-11953

JFrogのリサーチチームが、React Nativeの開発用CLI(@react-native-community/cli)の一部コンポーネントに致命的なリモートコード実行(RCE)脆弱性:CVE-2025-11953(CVSS 9.8)を確認し、2025年11月4日に公表しました。

加えて、Metro開発サーバが実際には外部インターフェースで待受してしまう問題が併発しており、未認証のネットワーク経由で任意コマンドが実行されうるという、開発環境としては極めて危険な状況です。ベンダーの迅速対応により、@react-native-community/cli-server-api は v20.0.0 以降で修正されています。

概要

今回の問題の影響を受けるのは、React Native の開発にあたり @react-native-community/cli 系のツールを使って Metro 開発サーバーを起動している開発者です。

特に、@react-native-community/cli-server-api が 4.8.0 から 20.0.0-alpha.2 のいずれかで入っている環境は該当し、20.0.0 以降で修正されています。

その為直ちにアップデートするよう強く推奨しています。

@react-native-community/cli と同じ系統のバージョンで同梱されることが多いため、CLI 本体がこの範囲に入っているプロジェクトは、サーバー API も同様に脆弱な可能性が高いと考えてください。

実務上、脆弱性が表に出やすいのは、習慣で Metro を立ち上げているケースです。

例えば、プロジェクト直下で npm start を叩いたり、npm run startnpx react-native start、あるいは npx @react-native-community/cli start のようなコマンドで開発を始める運用は珍しくありません。こうした起動方法自体は一般的ですが、今回の脆弱なバージョンが含まれていると、そのままリスクに影響します。

一方で、Expo など Metro を使わないフレームワーク経由で開発している場合は、今回の RCE の影響を直接は受けにくいと考えられます。

ただし、「自分は関係ないはず」と決めつけず、依存関係を一度確認しておくのが安全です。

依存関係の確認方法

プロジェクト配下:

cd <プロジェクトルート>
npm list @react-native-community/cli-server-api

グローバル:

npm list -g @react-native-community/cli-server-api

対策

最優先はアップデートです。@react-native-community/cli-server-api20.0.0以上に上げてしまえば、今回の穴は塞がります。

チームで複数のアプリを抱えている場合は、依存をまとめて更新できる時間帯を切り出し、適用後にアプリサーバ(普段使いの Metro/node プロセス)を一度再起動して、バージョン表示で反映を目で確かめるところまでをセットで行います。

出典

Critical RCE Vulnerability CVE-2025-11953 Puts React Native Developers at Risk