JFrogのセキュリティ研究者は、React Nativeに存在し、数百万人の開発者をリモートコード実行(RCE)攻撃の危険にさらす可能性がある深刻な脆弱性を公開した。
この脆弱性はCVSSスコア9.8で、人気の@react-native-community/cliパッケージに影響し、週間ダウンロード数は200万件を超える。
Reactの脆弱性
この脆弱性(CVE-2025-11953)により、認証されていない攻撃者は、Metroと呼ばれるReact Native開発サーバーを実行しているマシン上で、任意のOSコマンドを実行できる。
このサーバーはローカルでホストしている場合でもアクセス可能なため、悪用されると世界中の開発者環境が侵害される可能性がある。
この問題は、CLIの/open-urlエンドポイントにおける、ユーザーが入力したデータの安全でない処理に起因する。
このエンドポイントは、フィルタリングされていないデータをopen()関数に、オープンソースのnpmパッケージから直接渡すため、攻撃者は影響を受けるシステム上でシェルコマンドを実行できる。
この脆弱性はWindowsで最も容易に悪用できるが、理論上はmacOSやLinuxシステムにも影響を及ぼす可能性がある。
この脆弱性はバージョン4.8.0から20.0.0-alpha.2までに影響し、Metaはこの脆弱性に対するパッチをリリースした。
開発者は、npm list @react-native-community/cli-server-apiを実行してプロジェクトの依存関係を確認するか、グローバル版についてはnpm list -g @react-native-community/cli-server-apiを実行できる。
エクスプロイトの仕組み
JFrogの技術分析によると、攻撃者は、脆弱な開発サーバーの/open-urlエンドポイントに、細工したPOSTリクエストを送信できる。
このサーバーはユーザー入力をサニタイズせず、システムシェルに直接渡すため、任意のコマンドが実行される可能性がある。
例えばWindowsでは、攻撃者は電卓(calc.exe)を起動する無害なテストコマンドや、システムファイルを操作するより危険なコマンドを実行できる。
管理されたデモンストレーションで、JFrogの研究者はホストシステム上に新しいファイルを作成するコマンドの実行に成功し、完全なRCE機能を実証した。
React Nativeのコアコードベースに存在する二次的な設定上の欠陥により、リスクはさらに高まる。
開発サーバーはlocalhostだけでなく、すべてのネットワークインターフェース(0.0.0.0)にバインドする。
JFrogの研究者は次のように述べている。「hostが省略されている場合、IPv6が利用可能ならサーバーは未指定のIPv6アドレス(::)で接続を受け付け、それ以外の場合は未指定のIPv4アドレス(0.0.0.0)で受け付ける。ほとんどのOSでは、未指定のIPv6アドレス(::)をリッスンすると、net.Serverも未指定のIPv4アドレス(0.0.0.0)をリッスンすることがある」
このデフォルト設定により、ローカルの開発サーバーが意図せず外部ネットワークからアクセス可能になり、攻撃対象領域が広がる。
安全を保つ方法
開発者には、@react-native-community/cli-server-apiパッケージを公式パッチを含むバージョン20.0.0以降に更新することが強く推奨される。この更新により、RCEの脆弱性は実質的に解消される。
すぐにアップグレードできないチームに対して、JFrogは、次のコマンドnpx react-native start –host 127.0.0.1で起動し、開発サーバーをlocalhostに明示的にバインドする一時的な対策を推奨している。
これによりMetro開発サーバーへの外部アクセスが制限され、ネットワーク経由の攻撃にさらされるリスクが低減する。
さらに、安全なコーディング手法を取り入れ、依存関係を定期的に監査し、自動化されたセキュリティスキャンツールを使用して、開発サイクルの早い段階で脆弱なサードパーティーライブラリを特定する必要がある。
サプライチェーン攻撃が増加
CVE-2025-11953の公開は、現代のソフトウェア開発における根深い課題、すなわちサードパーティー依存関係に内在するセキュリティリスクを浮き彫りにした。
React Nativeのように信頼されているオープンソースフレームワークでさえ、外部で保守されるコンポーネントの欠陥によって弱体化する可能性がある。
このインシデントは、増加するソフトウェアサプライチェーン攻撃も反映している。こうした攻撃では、攻撃者が本番システムではなく、開発者のツールや環境を標的にするケースが増えている。

