はじめにCVE-2025-11953がReact Nativeセキュリティのゲームチェンジャーである理由
もしあなたが リアクト・ネイティブ モバイル・アプリケーションの開発者やITセキュリティの専門家は、次のことを認識しておく必要があります。 CVE-2025-11953-コアに影響を及ぼす重大な脆弱性 メトロ開発サーバー で使用される。 リアクト・ネイティブ プロジェクトで使用されます。この脆弱性は、開発環境を リモートコード実行 (RCE) 特に、開発サーバーの安全な設定を怠っているユーザーにとっては、大きなリスクとなる。
要するにだ、 CVE-2025-11953 を明らかにする。 ダブルワーム: デフォルト設定の欠陥 そして コマンド・インジェクションの脆弱性.その メトロ開発サーバーReact Nativeアプリのバンドルとデバッグに欠かせないこのアプリは、デフォルトでは次のようにバインドされます。 0.0.0.0サーバーへの外部アクセスを許してしまう。さらに、サーバーに公開されている特定のエンドポイントは、フィルターされていないユーザー入力を受け入れるため、攻撃者はオペレーティング・システム・コマンドを注入することができ、次のような問題が発生する。 RCE そして ホスト・テイクオーバー.
React Nativeはクロスプラットフォームのモバイルアプリ開発のための主要なフレームワークであるため、開発者はこの脆弱性がもたらすリスクを過小評価しがちだ。本記事では、React Nativeの脆弱性の核心的な問題について説明する。 CVE-2025-11953その技術的な意味を説明し、リスクを軽減するための実行可能なステップを提供します。また、開発環境を保護し、安全なReact Nativeワークフローを維持するための実践的な側面についても触れます。
CVE-2025-11953とは何か?詳しく見る
JFrog Ltd.のセキュリティ・リサーチ・チームによると、この脆弱性は、広く使用されているNPMパッケージに影響を及ぼすという。セキュリティ・リサーチ・チームによると、この脆弱性は広く使われているNPMパッケージ リアクト・ネイティブ・コミュニティ/クリReact NativeのMetroサーバーを駆動する。この欠陥により、認証されていない攻撃者が細工したPOSTリクエストを、公開されているエンドポイント(たとえば /オープン-url)を実行し、ホスト上で任意のOSコマンドを実行する。 JFrog+2nvd.nist.gov+2 主な要因
- CVSS 3.1スコア: 9.8 (av:n/ac:l/pr:n/ui:n/s:u/c:h/i:h/a:h) nvd.nist.gov
- 影響を受けるバージョン react-native-community/cli-server-api。 4.8.0から20.0.0-alpha.2まで。パッチはバージョン20.0.0で利用可能。 ハッカーニュース+1
- 根本的な問題Metroサーバーはデフォルトで0.0.0.0にバインドされる そして ユーザー入力を
オープン()(オープンなnpmパッケージから)をOSのコマンド実行パスに追加する。 CSOオンライン+1
なぜそれが重要なのか: localhost に限定された典型的な開発サーバーの欠陥とは異なり、このサーバーは リモートネットワークベクトル.Metroを実行しているDevマシンとCIエージェントは危険にさらされている。 イーセキュリティ・プラネット
| 項目 | 詳細 |
|---|---|
| CVE ID | CVE-2025-11953 |
| 脆弱性タイプ | OSコマンド・インジェクション(CWE-78) |
| 影響を受けるコンポーネント | React Native CLIのメトロ開発サーバー |
| 影響を受けるバージョン | React Native ≤ 0.74.1 / Metro ≤ 0.81.0 (および CLI-server-api 4.8.0-20.0.0-alpha.2) |
| トリガー・エンドポイント | 公開されたHTTPエンドポイント(例:/open-url、/symbolicate、/debugger-ui) |
| 深刻度(CVSS) | 9.8 / AV:N / AC:L / PR:N / UI:N |
| プライマリー・リスク | リモート・コード実行 → デバイス・マシンの侵害 → 内部ネットワークの横移動 |

この欠陥を特に危険なものにしている具体的な技術的リスクを詳しく見てみよう。:
メトロサーバーのデフォルト露出
いつ リアクトネイティブCLI が始まる。 メトロ開発サーバーへのバインディングがデフォルトとなる。 0.0.0.0つまり、サーバーは内部と外部の両方で、利用可能なすべてのネットワーク・インタフェースをリッスンしていることになる。のあるマシン上でサーバーをホスティングする開発者にとって、これは大きなセキュリティリスクです。 インターネットアクセス.
このデフォルト・バインディングを設定するコードのサンプルを以下に示す:
javascriptを使用しています:
// メトロサーバのデフォルト設定 (react-native/node_modules/metro/src/server/index.js)
コンフィグ = {
host: '0.0.0.0', // すべてのインターフェイスにバインドする
ポート:8081, // デフォルトポート
enableCORS: true // クロスオリジン・リクエストを有効にする
};
メトロサーバーがバインドするのは 127.0.0.1 (localhost)であるため、ローカルの開発マシンのみがアクセスできる。しかし、この設定では リモートアクセスサーバーを危険にさらすことになる。
コマンド・インジェクションの脆弱性
脆弱性の第二の部分は、次のようなものである。 コマンドインジェクションのような特定のエンドポイントがある。 /記号化 そして /デバッガー・ウイ攻撃者は、ユーザー入力を直接システムコマンドに渡します。この入力検証の欠如により、攻撃者は悪意のあるコマンドを注入し、任意のコードを実行できる可能性がある。
例えば /記号化 こんな感じだろうか:
POST /symbolicate HTTP/1.1
ホスト: [target-ip]:8081
コンテントタイプ:application/json
{
"logPath":"/var/log/react-native/crash.log": "/var/log/react-native/crash.log".
}
しかし、攻撃者は次のような追加コマンドを注入することができる:
POST /symbolicate HTTP/1.1
ホスト: [target-ip]:8081
コンテントタイプ:application/json
{
"logPath":"/var/log/react-native/crash.log && whoami": "/var/log/react-native/crash.log && whoami".
}
この場合、システムは次のコマンドを実行する。 cat /var/log/react-native/crash.log && whoami攻撃者がサーバー上で任意のコマンドを実行できるようにする。 ホワミ をクリックすると、現在のユーザーが表示されます。
CVE-2025-11953の影響を受けるReact Nativeのバージョンは?
脆弱性の影響 React Native バージョン ≤ 0.74.1 そして メトロバージョン ≤ 0.81.0.これらのバージョンやそれ以前のバージョンを使用している場合は、開発環境をリモート・コード実行の危険にさらすことを避けるため、直ちにアップグレードすることが重要です。
React Nativeのバージョンを確認するには、以下を実行します:
npm list @react-native-community/cli-server-api
バージョンが古い場合は、安全なバージョンにアップグレードしてください:
npm install react-native@latest
React Nativeのアップグレードがすぐに実行できない場合は、次の方法があります。 更新 メトロ 単独で走る:
npm install metro@latest --save-dev
CVE-2025-11953に対する実践的な緩和策
当面の対策:Metroをlocalhostにバインドする
依存関係をすぐにアップグレードできない場合は、一時的にリスクを軽減するために メトロ・サーバー への 127.0.0.1.これにより、たとえサーバーが公開されていても、外部の攻撃者がサーバーに到達するのを防ぐことができる。
Metroをlocalhostにバインドするには、以下を実行する:
npx react-native start --host 127.0.0.1
これを恒久的なものにするには、以下をあなたの package.json:
"スクリプト":{
"start":「react-native start --host 127.0.0.1"、
「アンドロイド」:「react-native run-android」、
"ios":"react-native run-ios"
}
ネットワークのセキュリティファイアウォールの使用
もう1つの緊急の安全策は、次のように設定することである。 ファイアウォール を使って、デフォルトのメトロ・ポート(8081)に対する外部からのアクセスをブロックする。例えば、Linuxでは
iptables -A INPUT -p tcp --dport 8081 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8081 -j DROP
Windowsユーザーの場合は、ポート8081を以下のように制限するようファイアウォールを設定してください。 ローカルホスト.
Penligent:React Nativeプロジェクトのセキュリティテストの自動化
React Nativeの開発者として、次のような脆弱性を先取りしておく必要があります。 CVE-2025-11953 は難しいかもしれない。そこで 寡黙AIを活用したペネトレーション・テスト・プラットフォームの登場だ。 寡黙 のような脆弱性の検出を自動化する。 CVE-2025-11953React Nativeのコードベースと構成をスキャンし、潜在的なリスクをリアルタイムで特定します。
と 寡黙自動化された 侵入テスト を開発パイプラインに組み込むことで、デプロイ前にプロジェクトの安全性を確保できます。このプロアクティブなセキュリティアプローチにより、コストのかかる脆弱性を回避し、悪意のある攻撃からユーザーを保護することができます。
結論CVE-2025-11953からReact Nativeプロジェクトを守る
CVE-2025-11953 の重大なセキュリティ欠陥が露呈した。 メトロ開発サーバー の リアクト・ネイティブそのため、攻撃者が開発環境を乗っ取ることが容易になる。を理解することで 設定不備 そして コマンド・インジェクションのリスクしかし、開発者は自分のプロジェクトを守るために行動を起こすことができる。
のリスクを軽減する。 CVE-2025-11953開発者はそうすべきである:
- 最新版へのアップグレード リアクト・ネイティブ そして メトロ のバージョンがある。
- にサーバーをバインドするなどの一時的な修正を行う。 ローカルホスト.
- ファイアウォールを設定し、メトロのデフォルトポートへのアクセスを制限する。
さらに 寡黙 は、セキュリティ・テストを自動化し、開発環境の安全を確保することができます。これらの戦略を採用することで、React Nativeプロジェクトを以下の脅威から守ることができます。 リモートコード実行 そして、開発ワークフローの安全性を確保します。
セキュリティのベストプラクティスについては OWASPトップテン そして npm セキュリティ勧告 をご覧ください。

