{"id":174932,"date":"2026-09-28T13:52:25","date_gmt":"2026-09-28T11:52:25","guid":{"rendered":"https:\/\/jfrog.com\/blog\/kritische-rce-schwachstelle-cve-2025-11953-gefaehrdet-react-native-entwickler\/"},"modified":"2026-09-30T13:33:45","modified_gmt":"2026-09-30T11:33:45","slug":"cve-2025-11953-critical-react-native-community-cli-vulnerability","status":"publish","type":"post","link":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/","title":{"rendered":"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-156364 aligncenter\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png\" alt=\"\" width=\"863\" height=\"300\" \/><\/p>\n<p><strong>Update vom 9.\u00a0Februar\u00a02026<\/strong>\u00a0\u2013 Unterschied bei den Auswirkungen vor Version 17.0.0 und ab Version 17.0.0 wurde klargestellt<\/p>\n<p>Das JFrog Security Research Team hat vor Kurzem CVE-2025-11953 entdeckt und offengelegt\u00a0\u2013 eine kritische (<a href=\"https:\/\/www.first.org\/cvss\/calculator\/3-1#CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:H\" target=\"_blank\" rel=\"noopener\">CVSS 9.8<\/a>) Sicherheitsl\u00fccke, die das \u00e4u\u00dferst beliebte NPM-Paket <a href=\"https:\/\/www.npmjs.com\/package\/@react-native-community\/cli\" target=\"_blank\" rel=\"noopener\">@react-native-community\/cli<\/a> betrifft, das ungef\u00e4hr 2\u00a0Mio. w\u00f6chentliche Downloads hat.<\/p>\n<p>Die Schwachstelle erm\u00f6glicht es nicht authentifizierten Angreifern aus der Ferne, die Ausf\u00fchrung beliebiger Betriebssystembefehle auf dem Rechner einfach auszul\u00f6sen, auf dem der Entwicklungsserver von react-native-community\/cli ausgef\u00fchrt wird, was f\u00fcr Entwickler ein erhebliches Risiko darstellt.<\/p>\n<p>React Native ist ein beliebtes Framework f\u00fcr die Entwicklung plattform\u00fcbergreifender mobiler Apps mit JavaScript. Die Schwachstelle befindet sich in einem Paket, das Teil des umfassenderen Projekts <a href=\"https:\/\/github.com\/react-native-community\/cli\" target=\"_blank\" rel=\"noopener\">React Native Community CLI<\/a> ist, das vor einigen Jahren aus der zentralen React-Native-Codebasis ausgegliedert wurde, um die Wartbarkeit zu verbessern. Die CLI ist eine Sammlung von Befehlszeilentools, die Entwickler bei der Erstellung von React-Native-Mobilanwendungen unterst\u00fctzen. Sie wird offiziell zum Erstellen von <a href=\"https:\/\/reactnative.dev\/docs\/getting-started-without-a-framework\" target=\"_blank\" rel=\"noopener\">React-Native-Mobil-Apps ohne Verwendung eines Frameworks<\/a> sowie von <a href=\"https:\/\/microsoft.github.io\/react-native-windows\/\" target=\"_blank\" rel=\"noopener\">React Native f\u00fcr Windows<\/a>, React Native f\u00fcr macOS und mehr verwendet.<\/p>\n<p>Im Gegensatz zu typischen Schwachstellen in Entwicklungsservern, die nur vom lokalen Rechner eines Entwicklers aus ausnutzbar sind, <strong>setzt eine zweite Sicherheitsl\u00fccke<\/strong>, die das Team in der Kerncodebasis von React Native entdeckt hat, <strong>den Entwicklungsserver externen Netzwerkangriffen aus<\/strong>\u00a0\u2013 wodurch die erstgenannte Schwachstelle zu einem \u00e4u\u00dferst kritischen Problem wird.<\/p>\n<p>Wir m\u00f6chten dem Sicherheitsteam und den Ingenieuren von Meta f\u00fcr die umgehende <a href=\"https:\/\/github.com\/react-native-community\/cli\/commit\/15089907d1f1301b22c72d7f68846a2ef20df547\" target=\"_blank\" rel=\"noopener\">Bearbeitung der Schwachstelle CVE-2025-11953<\/a> danken.<\/p>\n<h2>Wer ist von CVE-2025-11953 betroffen?<\/h2>\n<p>Entwickler, die ihr React Native-Projekt mit einer anf\u00e4lligen Version von @react-native-community\/cli initiiert haben und <strong>den Metro-Entwicklungsserver ausf\u00fchren<\/strong>, indem sie einen der folgenden oder \u00e4hnliche Befehle verwenden, sind f\u00fcr CVE-2025-11953 anf\u00e4llig:<\/p>\n<pre class=\"language-yaml\"><code> npm start\r\n npm run [start|android|ios|windows|macos]\r\n npx react-native [start|run-android|run-ios|run-windows|run-macos]\r\n npx @react-native-community\/cli [start|run-android|run-ios|run-windows|run-macos]\r\n<\/code><\/pre>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-156251 aligncenter\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/React-Native-CVE-image1.png\" alt=\"\" width=\"400\" height=\"413\" \/><\/p>\n<p style=\"text-align: center;\"><i><span style=\"font-weight: 400;\">\u00a0der Entwicklungsserver (Metro) von react-native l\u00e4uft<\/span><\/i><\/p>\n<p style=\"text-align: left;\">W\u00e4hrend die Schwachstelle standardm\u00e4\u00dfig angreifbar ist, wenn ein React-Native-Projekt mit @react-native-community\/cli initiiert wird, ist es wichtig zu verstehen, dass nicht jeder Entwickler, der diese Bibliothek als Abh\u00e4ngigkeit installiert hat, zwangsl\u00e4ufig angreifbar ist.<\/p>\n<p>Insbesondere sind Entwickler, die React Native mit einem Framework verwenden, das Metro nicht als Entwicklungsserver nutzt, in der Regel nicht gef\u00e4hrdet.<\/p>\n<p>Die Schwachstelle betrifft direkt das Paket @react-native-community\/cli-server-api in den Versionen 4.8.0 bis 20.0.0-alpha.2, und ist seit Version 20.0.0 behoben.<\/p>\n<p>In den Versionen 4.8.0 bis 17.0.0 kann die Schwachstelle nicht authentifizierten Remote-Angreifern erm\u00f6glichen, ausf\u00fchrbare Dateien auszuf\u00fchren, die sich bereits auf einem Remote-Rechner befinden (ohne dass Argumente angegeben werden m\u00fcssen).Dies ist f\u00fcr Angreifer von Nutzen, die auf andere Weise manipulierte ausf\u00fchrbare Dateien auf den Remote-Rechner hochladen k\u00f6nnen.In den Versionen 17.0.0 bis 20.0.0-alpha.2 <strong>wird die Schwachstelle noch kritischer<\/strong> und kann zu einer vollst\u00e4ndigen nicht authentifizierten Remote-Ausf\u00fchrung von Betriebssystembefehlen f\u00fchren, deren Details wir hier vorstellen werden.<\/p>\n<p>So pr\u00fcfen Sie, ob das anf\u00e4llige Paket in einem bestimmten NodeJS-Projekt vorhanden ist:<\/p>\n<pre class=\"language-yaml\"><code> cd \r\n npm list @react-native-community\/cli-server-api\r\n<\/code><\/pre>\n<p>Das Paket kann auch systemweit auf Ihrem System installiert sein. Dies k\u00f6nnen Sie \u00fcberpr\u00fcfen, indem Sie Folgendes ausf\u00fchren:<\/p>\n<pre class=\"language-yaml\"><code> npm list -g @react-native-community\/cli-server-api\r\n<\/code><\/pre>\n<p>Beachten Sie, dass das betroffene Paket \u00fcblicherweise zusammen mit @react-native-community\/cli in passenden Versionen geb\u00fcndelt wird. Daher sind Projekte, die @react-native-community\/cli in den Versionen 4.8.0 bis 20.0.0\u2011alpha.2 verwenden, wahrscheinlich von anf\u00e4lligen Versionen von @react-native-community\/cli-server-api betroffen.<\/p>\n<p>Unter Windows haben wir nachgewiesen, dass diese Schwachstelle zur Ausf\u00fchrung beliebiger Betriebssystembefehle (Shell-Befehle mit vollst\u00e4ndiger Parameterkontrolle) f\u00fchrt. Unter macOS und Linux f\u00fchrt die Schwachstelle zur Ausf\u00fchrung beliebiger ausf\u00fchrbarer Dateien mit eingeschr\u00e4nkter Parameterkontrolle. Die Ausf\u00fchrung beliebiger Betriebssystembefehle auf diesen Plattformen k\u00f6nnte mit weiteren Untersuchungen m\u00f6glich sein.<\/p>\n<h2>Wie kann CVE-2025-11953 behoben werden?<\/h2>\n<p>Durch die Durchf\u00fchrung der folgenden Schritte l\u00e4sst sich die Sicherheitsl\u00fccke CVE-2025-11953 beheben:<\/p>\n<ul>\n<li>Aktualisieren Sie @react-native-community\/cli-server-api in jedem Ihrer react-native-Projekte auf Version 20.0.0 oder h\u00f6her, die eine Behebung dieser Sicherheitsl\u00fccke enth\u00e4lt. Dies ist die empfohlene L\u00f6sung.<\/li>\n<li>Zur Verbesserung der Sicherheit oder falls ein Upgrade nicht m\u00f6glich ist, binden Sie den Entwicklungsserver explizit an die localhost-Schnittstelle, indem Sie das Flag \u201e&#8211;host 127.0.0.1\u201c hinzuf\u00fcgen, wie in den folgenden Beispielen gezeigt:<\/li>\n<\/ul>\n<pre class=\"language-yaml\"><code> npx react-native start --host 127.0.0.1\r\n npx @react-native-community\/cli start --host 127.0.0.1\r\n<\/code><\/pre>\n<h2>Zusammenfassung von CVE-2025-11953<\/h2>\n<p>Der Metro-Entwicklungsserver, der von @react-native-community\/cli gestartet wird, stellt standardm\u00e4\u00dfig eine Verbindung zu externen Schnittstellen her (was an sich schon ein kleines Sicherheitsrisiko darstellt).Der Endpunkt <code style=\"color: black; background-color: lightgray;\">\/open-url<\/code> des Servers verarbeitet eine POST-Anfrage, die einen vom Benutzer eingegebenen Wert enth\u00e4lt, der an die unsichere Funktion <code style=\"color: black; background-color: lightgray;\">open()<\/code>\u00a0\u00fcbergeben wird, die vom Open-NPM-Paket bereitgestellt wird und zur Ausf\u00fchrung von Betriebssystembefehlen f\u00fchrt.<\/p>\n<p>Dadurch kann ein nicht authentifizierter Netzwerkangreifer eine POST-Anfrage an den Server senden und beliebige Shell-Befehle mit vom Angreifer kontrollierten Parametern ausf\u00fchren.<\/p>\n<p style=\"text-align: center;\"><code style=\"background-color: lightgray;\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"899\" class=\"wp-image-156254 aligncenter\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/React-Native-CVE-image3.png\" alt=\"&lt;code style=\" \/>\" width=\"400\" height=\"364\" \/&gt;<em>calc.exe wird als Ergebnis unseres Exploits ausgef\u00fchrt<\/em><\/code><\/p>\n<h2>CVE-2025-11953: Technische Details<\/h2>\n<p>Bei der Erstellung eines React-Native-Projekts k\u00f6nnen Entwickler w\u00e4hlen, ob sie <a href=\"https:\/\/reactnative.dev\/docs\/environment-setup\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">ein bestehendes Framework verwenden<\/span><\/a>, wie etwa Expo, das die CLI des Frameworks verwendet und nicht anf\u00e4llig ist, oder <a href=\"https:\/\/reactnative.dev\/docs\/getting-started-without-a-framework\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">ihre App ohne Framework erstellen<\/span><\/a>\u00a0\u2013 wie wir es hier tun werden\u00a0\u2013, wenn sie lieber ihr eigenes Framework schreiben m\u00f6chten oder bestimmte Einschr\u00e4nkungen haben, mit denen ein bestimmtes Framework kollidiert.<\/p>\n<p>Der Entwicklungsprozess beginnt in der Regel mit der Verwendung der @react-native-community\/cli, um mit dem Befehl <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">npx @react-native-community\/cli init MyApp<\/code> ein neues Projekt zu initialisieren, wodurch die erforderliche Projektstruktur, Abh\u00e4ngigkeiten und Konfigurationsdateien eingerichtet werden. W\u00e4hrend der aktiven Entwicklung verlassen sich Entwickler auf die CLI, um den Metro-Entwicklungsserver auszuf\u00fchren (mit Befehlen wie <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">npx react-native start<\/code>), der das JavaScript-Bundle an die laufende App (auf einem Emulator oder Mobilger\u00e4t) bereitstellt und wesentliche Entwicklungsfunktionen wie Hot Reloading und Fast Refresh f\u00fcr schnelle Iterationen erm\u00f6glicht.<\/p>\n<p>Beim Ausf\u00fchren von <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">npx react-native start<\/code> leitet die cli.js von react-native den Befehl an das Paket @react-native-community\/cli weiter (eine optionale Abh\u00e4ngigkeit von react-native), das seine Funktion <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">build\\index.js::setupAndRun()<\/code> ausf\u00fchrt. Diese Funktion l\u00e4dt die CLI-Befehle (d.\u00a0h. <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">start-Befehl<\/code>), indem sie <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">loadConfigAsync<\/code> aufruft, wodurch w\u00e4hrend des Vorgangs die Datei <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">node-modules\/react-native\/react-native.config.js<\/code> gefunden und verwendet wird.<\/p>\n<pre class=\"language-javascript\"><code> const commands = [];\r\n const {\r\n   bundleCommand,\r\n   startCommand,\r\n } = require('@react-native\/community-cli-plugin');\r\n commands.push(bundleCommand, startCommand);\r\n<\/code><\/pre>\n<p style=\"text-align: center;\"><em>node-modules\/react-native\/<strong>react-native.config.js<\/strong>\u00a0\u2013 f\u00fcgt <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">startCommand<\/code> zu einer exportierten Befehlsliste hinzu, die dann zur CLI-Befehlsliste hinzugef\u00fcgt wird.<\/em><\/p>\n<p>Die Datei react-native.config.js importiert <a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/v0.80.2\/packages\/community-cli-plugin\/src\/commands\/start\/index.js#L19\" target=\"_blank\" rel=\"noopener\"><b>startCommand<\/b><\/a> aus @react-native\/community-cli-plugin\u00a0\u2013 diese Funktion ist f\u00fcr das Ausf\u00fchren des Entwicklungsservers zust\u00e4ndig.<\/p>\n<pre class=\"language-javascript\"><code> import runServer from '.\/runServer';\r\n \/* ... *\/\r\n const startCommand: Command = {\r\n   name: 'start',\r\n   func: runServer,\r\n   description: 'Start the React Native development server.',\r\n<\/code><\/pre>\n<p style=\"text-align: center;\"><em>Snippet aus der Datei <a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/v0.80.2\/packages\/community-cli-plugin\/src\/commands\/start\/index.js#L19\"><span style=\"font-weight: 400;\">index.js<\/span><\/a> des Startbefehls<\/em><\/p>\n<p>Wenn der <strong>start<\/strong>-Befehl ausgef\u00fchrt wird, ruft er <a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/v0.80.2\/packages\/community-cli-plugin\/src\/commands\/start\/runServer.js\"><span style=\"font-weight: 400;\">runServer.js<\/span><\/a> auf:<\/p>\n<pre class=\"language-javascript\"><code> \/* ... *\/\r\n\r\n import {createDevServerMiddleware} from '.\/middleware'; \/* *** 1 *** *\/\r\n\r\n \/* ... *\/\r\n\r\n \/* *** 2 *** *\/\r\n const { middleware: <strong>communityMiddleware<\/strong> } = createDevServerMiddleware({\r\n     host: hostname,\r\n     port,\r\n     watchFolders,\r\n   });\r\n\r\n \/* ... *\/\r\n\r\n   \/* *** 3 *** *\/\r\n   await <strong>Metro.runServer<\/strong>(metroConfig, {\r\n     host: args.host,\r\n     secure: args.https,\r\n     secureCert: args.cert,\r\n     secureKey: args.key,\r\n     unstable_extraMiddleware: [<strong>communityMiddleware<\/strong>, middleware],\r\n     websocketEndpoints: {\r\n       ...communityWebsocketEndpoints,\r\n       ...websocketEndpoints,\r\n     },\r\n   });\r\n<\/code><\/pre>\n<p style=\"text-align: center;\"><em>Vereinfachte Version von <a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/v0.80.2\/packages\/community-cli-plugin\/src\/commands\/start\/runServer.js\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">runServer.js<\/span><\/a><\/em><\/p>\n<p><span style=\"font-weight: 400;\">runServer.js<\/span> f\u00fchrt Folgendes aus:<\/p>\n<ol>\n<li>Importiert die Funktion <strong> createDevServerMiddleware<\/strong> aus <a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/v0.80.2\/packages\/community-cli-plugin\/src\/commands\/start\/middleware.js#L85\"><span style=\"font-weight: 400;\">.\/middleware<\/span><\/a>, die sie aus der index.ts von @react-native-community\/cli-server-api importiert.<\/li>\n<li>F\u00fchrt<strong> createDevServerMiddleware<\/strong> aus, wodurch <strong>Middleware<\/strong> erstellt wird\u00a0\u2013 eine Funktion, die einem HTTP-Server hinzugef\u00fcgt wird, eingehende Anfragen abf\u00e4ngt, Funktionen hinzuf\u00fcgt und sie dann an den n\u00e4chsten Handler weitergibt. In unserem Fall ist der <a href=\"https:\/\/github.com\/react-native-community\/cli\/blob\/v19.1.1\/packages\/cli-server-api\/src\/index.ts#L38\"><span style=\"font-weight: 400;\">hinzugef\u00fcgte<\/span><\/a> Handler, der uns interessiert, <a href=\"https:\/\/github.com\/react-native-community\/cli\/blob\/v19.1.1\/packages\/cli-server-api\/src\/index.ts#L38\"><b>\/open-url<\/b><\/a>, der vom Handler <strong>openURLMiddleware<\/strong> verarbeitet wird. Die Middleware wird der Variablen <strong>communityMiddleware<\/strong> zugewiesen.<\/li>\n<li>Startet den Metro-Server mit <strong>communityMiddleware<\/strong> als Parameter. Dies ist der Entwicklungsserver der CLI.<\/li>\n<\/ol>\n<p>Sehen wir uns nun den <strong>openURLMiddleware<\/strong> -Handler an, der im Rahmen von <strong>communityMiddleware<\/strong> zum Server hinzugef\u00fcgt wurde:<\/p>\n<pre class=\"language-javascript\"><code> async function openURLMiddleware(req: IncomingMessage, ...) {\r\n   if (req.method === 'POST') {\r\n\r\n     \/* ... *\/\r\n\r\n     const {url} = req.body as {url: string};\r\n\r\n     await open(url);\r\n\r\n     \/* ... *\/\r\n\r\n   }\r\n   next();\r\n }\r\n export default connect().use(json()).use(openURLMiddleware);\r\n<\/code><\/pre>\n<p style=\"text-align: center;\"><em>Vereinfachtes Snippet der openURLMiddleware-Funktion aus <a href=\"https:\/\/github.com\/react-native-community\/cli\/blob\/v19.1.1\/packages\/cli-server-api\/src\/openURLMiddleware.ts\" target=\"_blank\" rel=\"noopener\"><i><span style=\"font-weight: 400;\">openURLMiddleware.ts<\/span><\/i><\/a><\/em><\/p>\n<p>Diese Funktion wird mit einem HTTP-Anfrageparameter <strong>req<\/strong> aufgerufen, bei dem es sich um eine JSON-POST-Anfrage mit einem Zeichenfolgenfeld <strong>url<\/strong> handelt. Sie nimmt den Wert des Felds <strong>url<\/strong>, <strong>bei dem es sich um eine nicht bereinigte Zeichenfolge handelt, die direkt vom Benutzer stammt<\/strong>, und verwendet ihn als Parameter f\u00fcr den Aufruf <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">open()<\/code>.<\/p>\n<ol>\n<li>Die Funktion <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">open()<\/code> wird aus dem <a href=\"https:\/\/github.com\/sindresorhus\/open\/tree\/v6.4.0\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">npm-Paket \u201aopen\u2018<\/span><\/a> in Version 6.4.0 importiert.<\/li>\n<li><code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">open(url)<\/code> f\u00fchrt auf Windows-Rechnern Folgendes aus:\n<ol type=\"a\">\n<li>Setzt den auszuf\u00fchrenden <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">Befehl<\/code> auf \u201ecmd\u201c<\/li>\n<li>Erstellt das Array <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">cliArguments<\/code>: <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">['\/c', 'start', '\"\"', '\/b']<\/code><\/li>\n<li>Maskiert &amp; mit ^ im <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">Ziel-String<\/code>, der die von uns angegebene URL ist.<\/li>\n<li>F\u00fcgt die Zeichenfolge <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">target<\/code> zu den <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">cliArguments<\/code> hinzu<\/li>\n<li>F\u00fchrt den folgenden Befehl aus:<br \/>\n<code style=\"color: green; background-color: lightgray; font-family: courier; font-size: 16px;\"><code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">childProcess.spawn(command, cliArguments, childProcessOptions);<\/code><\/code><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>W\u00e4hrend der Befehl <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">start<\/code> aufgrund seines HTTP-URI-Schemas einen einzigen URL-Parameter akzeptieren und diesen im Standardbrowser \u00f6ffnen kann, akzeptiert er auch das folgende Format zum Ausf\u00fchren von Befehlen:<br \/>\n<code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">start \u201ctitle\u201d \/b command optional_command_parameters<\/code><\/p>\n<p>Im Fall von <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">open(\u201ccalc.exe\u201d)<\/code> wird der folgende neue Prozess gestartet:<\/p>\n<pre class=\"language-javascript\"><code> cmd \/c start \u201c\u201d \/b calc.exe\r\n<\/code><\/pre>\n<p>Dies f\u00fchrt zur Ausf\u00fchrung von calc.exe.<\/p>\n<p>Um einen beliebigen Befehl auszuf\u00fchren, k\u00f6nnten wir den Parameter <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">url<\/code> von open auf einen <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">cmd \/c <\/code> -Befehl setzen. Zum Beispiel mit dem folgenden Ergebnis:<\/p>\n<pre class=\"language-javascript\"><code> cmd \/c start \"\" \/b cmd \/c echo abc &gt; c:\\temp\\pwned.txt\r\n<\/code><\/pre>\n<p style=\"text-align: center;\">React Native CVE\u00a0\u2013 image5<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-156260\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/React-Native-CVE-image5.png\" alt=\"React Native CVE - image5\" width=\"519\" height=\"178\" \/><br \/>\n<em>Eine neue Datei pwned.txt, die als Ergebnis unseres Befehls cmd.exe \/c in C:\\temp erstellt wurde\u00a0\u2013 was beweist, dass die Ausf\u00fchrung eines beliebigen Codes erfolgreich war.<\/em><\/p>\n<h3>Angriffsfl\u00e4chen auf verschiedenen Betriebssystemen<\/h3>\n<p>Im Gegensatz zu Windows nutzt der Befehl open, wie oben gezeigt, unterschiedliche Codepfade auf macOS und Linux und f\u00fchrt dabei jeweils <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">open <\/code> und <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">xdg-open <\/code> aus. Bei unix\u00e4hnlichen Betriebssystemen erwartet der erzeugte Prozess, dass jedes Argument eine separate Zeichenfolge in <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">cliArguments<\/code> ist, was sich von Windows unterscheidet, wo der erzeugte Prozess eine einzelne Argumentzeichenfolge <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">lpCommandLine<\/code> erwartet, <a href=\"https:\/\/github.com\/nodejs\/node\/blob\/v24.4.1\/deps\/uv\/src\/win\/process.c#L566\" target=\"_blank\" rel=\"noopener\">die zusammengef\u00fcgt wird<\/a>, bevor der Aufruf von <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">CreateProcess<\/code> erfolgt.<\/p>\n<p>Dar\u00fcber hinaus werden beide Befehle ohne Shell ausgef\u00fchrt. In Kombination mit der Tatsache, dass wir nur eine einzige Zeichenfolge (url) kontrollieren, lassen diese Faktoren es nicht ohne Weiteres zu, beliebige Befehle auf macOS und Linux auszuf\u00fchren.<\/p>\n<p>Sowohl xdg-open als auch open bestimmen, ob die Eingabezeichenfolge eine Datei oder ein URI ist, und handeln (verteilen) entsprechend.<\/p>\n<p>Die Angriffsfl\u00e4che zur Erzielung von Codeausf\u00fchrung in diesen Betriebssystemen kann von der Konfiguration des Systems abh\u00e4ngen und umfasst typischerweise:<\/p>\n<ul>\n<li aria-level=\"1\">Ermittlung eines URI-Schemas, dessen Handler dabei helfen kann, einen Schritt bei der Ausnutzung zu erreichen (entweder als Funktion oder durch Ausnutzung einer Schwachstelle im Handler selbst).<\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\">Ausf\u00fchren einer lokalen Datei \u00fcber ein regul\u00e4res oder ein file:\/\/-URI-Schema. (K\u00f6nnte optional mit einer Datei-Dropper-Primitive kombiniert werden.)<\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\">Ausf\u00fchrung einer Remote-Datei auf dem Server des Angreifers mithilfe von smb:\/\/-, dav:\/\/-URI-Schemata oder \u00e4hnlichen. (Wird wahrscheinlich Sicherheitsdialoge ausl\u00f6sen, in denen der betroffene Benutzer um Best\u00e4tigung gebeten wird.)<\/li>\n<\/ul>\n<p>Zusammenfassend l\u00e4sst sich sagen, dass die Ausf\u00fchrung beliebiger Betriebssystembefehle auf diesen Plattformen mit weiteren Untersuchungen m\u00f6glich sein k\u00f6nnte.<\/p>\n<h3>Sollte der Entwicklungsserver nicht nur an \u201elocalhost\u201c gebunden sein?<\/h3>\n<p>Wie wir bereits gezeigt haben, wird beim Ausf\u00fchren des Metro-Entwicklungsservers ausdr\u00fccklich angegeben, dass er \u00fcber die localhost-Schnittstelle gestartet wird:<\/p>\n<pre><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-156263 aligncenter\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/React-Native-CVE-image4.png\" alt=\"React Native CVE\u00a0\u2013 image4\" width=\"465\" height=\"171\" \/><\/pre>\n<p>In der Realit\u00e4t sehen wir jedoch, dass der Server auf allen Schnittstellen lauscht! (0.0.0.0 und IPv6 [::]):<\/p>\n<pre><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-156264 aligncenter\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/React-Native-CVE-image2.png\" alt=\"React Native CVE - image2\" width=\"472\" height=\"62\" \/><\/pre>\n<p>Wie bereits erw\u00e4hnt, liegt dies an einer weiteren Schwachstelle, die wir in <a href=\"https:\/\/github.com\/facebook\/react-native\/tree\/HEAD\/packages\/community-cli-plugin#readme\">@react-native\/community-cli-plugin<\/a> entdeckt und offengelegt haben und die als \u201eInformative\u201c eingestuft wurde.<\/p>\n<p>Durch Ausf\u00fchren von <strong>npx react-native start<\/strong> gelangt der Code zur Funktion runServer.js::<a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/eca6c1b96530da9c49bf996b84ea85aeb0248b2a\/packages\/community-cli-plugin\/src\/commands\/start\/runServer.js#L47\" target=\"_blank\" rel=\"noopener\">runServer<\/a> :<\/p>\n<pre class=\"language-javascript\"><code> async function runServer(\r\n   _argv: Array,\r\n   cliConfig: Config,\r\n   args: StartCommandArgs,\r\n ) {\r\n\r\n   \/* ... *\/\r\n\r\n   const hostname = args.host?.length ? args.host : 'localhost'; \/\/ *** 1 ***\r\n\r\n   \/* ... *\/\r\n\r\n   const protocol = args.https === true ? 'https' : 'http';\r\n   const devServerUrl = url.format({protocol, hostname, port}); \/\/ *** 2 ***\r\n\r\n   \/* ... *\/\r\n\r\n   console.info(`Starting dev server on ${devServerUrl}\\n`); \/\/ *** 3 ***\r\n\r\n   \/* ... *\/\r\n\r\n   await Metro.runServer(metroConfig, {\r\n     host: args.host, \/\/ *** 4 ***\r\n<\/code><\/pre>\n<p style=\"text-align: center;\"><em>Relevante Teile der <a href=\"https:\/\/github.com\/facebook\/react-native\/blob\/eca6c1b96530da9c49bf996b84ea85aeb0248b2a\/packages\/community-cli-plugin\/src\/commands\/start\/runServer.js#L47\">runServer<\/a> -Funktion aus runServer.js<\/em><\/p>\n<p><span style=\"font-weight: 400;\">Wir gehen davon aus, dass der Startbefehl mit den Standardwerten und ohne optionale Parameter aufgerufen wird. Gehen wir die einzelnen Schritte im obigen Codebeispiel durch:<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li aria-level=\"1\"><code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">hostname<\/code> enth\u00e4lt den Parameter <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">host<\/code>, sofern angegeben, andernfalls <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">\"localhost\"<\/code>.<\/li>\n<li aria-level=\"1\"><code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">devServerUrl<\/code> wird unter Verwendung des Hostnamens gebildet.<\/li>\n<li aria-level=\"1\">Die irref\u00fchrende Meldung <code style=\"color: black; background-color: lightgray;\">\u201cStarting dev server on http:\/\/localhost:8081\u201d<\/code> wird ausgegeben.<\/li>\n<li aria-level=\"1\">Die Funktion <strong>Metro.runServer<\/strong>, die f\u00fcr das Ausf\u00fchren des Metro-Entwicklungsservers zust\u00e4ndig ist, wird mit dem Host <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">args.host<\/code> aufgerufen, der <strong>undefined<\/strong> ist, anstatt die Variable <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">hostname<\/code> zu verwenden.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>Sp\u00e4ter verwendet der Code von Metro f\u00fcr <a href=\"https:\/\/github.com\/facebook\/metro\/blob\/8390082c23026fff7b6df89eeb5773388891bdd2\/packages\/metro\/src\/index.flow.js#L260\" target=\"_blank\" rel=\"noopener\">runServer<\/a> diesen undefinierten Parameter beim Aufruf von <code style=\"color: black; background-color: lightgray; font-family: courier; font-size: 16px;\">httpServer.listen<\/code><\/p>\n<p>Aus der Dokumentation von node zu <a href=\"https:\/\/nodejs.org\/api\/http.html#serverlisten\" target=\"_blank\" rel=\"noopener\">server.listen von http<\/a> geht hervor, dass sich diese Funktion wie <a href=\"https:\/\/nodejs.org\/api\/net.html#serverlistenport-host-backlog-callback\" target=\"_blank\" rel=\"noopener\">server.listen<\/a> von net.Server verh\u00e4lt, wo es hei\u00dft:<\/p>\n<p>\u201eWenn host weggelassen wird, akzeptiert der Server Verbindungen auf der nicht angegebenen IPv6-Adresse (::), wenn IPv6 verf\u00fcgbar ist, oder andernfalls auf der nicht angegebenen IPv4-Adresse (0.0.0.0). In den meisten Betriebssystemen kann das Lauschen auf der nicht angegebenen IPv6-Adresse (::) dazu f\u00fchren, dass net.Server auch auf der nicht angegebenen IPv4-Adresse (0.0.0.0) lauscht.\u201c<\/p>\n<p>Die explizite \u00dcbergabe von <strong>undefined<\/strong> ist funktional gleichbedeutend mit dem Weglassen des Parameters. <strong>Daher lauscht der Server standardm\u00e4\u00dfig auf externe Verbindungen.<\/strong><\/p>\n<p>Infolgedessen sind die HTTP-Endpunkte, die nur f\u00fcr die Entwicklung bestimmt sind, f\u00fcr <strong>Netzwerkangreifer<\/strong> zug\u00e4nglich.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>Diese Sicherheitsl\u00fccke zeigt, dass selbst unkomplizierte Schwachstellen zur Remotecodeausf\u00fchrung, etwa die \u00dcbergabe von Benutzereingaben an die System-Shell, in realer Software weiterhin vorkommen, insbesondere wenn sich die gef\u00e4hrliche Sink-Funktion tats\u00e4chlich in Drittanbietercode befindet\u00a0\u2013 in diesem Fall die importierte Funktion \u201eopen\u201c. Sie erinnert daran, dass Verfahren f\u00fcr sicheres Coding und automatisiertes Sicherheitsscanning unerl\u00e4sslich sind, um diese leicht ausnutzbaren Schwachstellen zu verhindern, bevor sie in die Produktionsumgebung gelangen.<\/p>\n<p>Eine gute M\u00f6glichkeit, diese und \u00e4hnliche Sicherheitsl\u00fccken im eigenen Code zu vermeiden, besteht im Einsatz des SAST-Scannings von <a href=\"https:\/\/jfrog.com\/de\/advanced-security\/\">JFrog Advanced Security<\/a>, das Entwicklern erm\u00f6glicht, Sicherheitsprobleme fr\u00fch im Entwicklungsprozess zu erkennen und zu beheben. Ohne erforderliche Konfiguration integriert sich <a href=\"https:\/\/jfrog.com\/de\/sast\/\">JFrog SAST<\/a> nahtlos \u00fcber IDE-Plug-ins und CLI-Tools in bestehende Workflows und erm\u00f6glicht Entwicklern einfachen Zugriff auf umsetzbare Erkenntnisse, ohne ihren Arbeitsfluss zu unterbrechen.<\/p>\n<p>So sehen wir beispielsweise im folgenden Screenshot, wie JFrog SAST die oben genannte Sicherheitsl\u00fccke beim Scannen als Erstanbietercode direkt in Visual Studio Code erkennt:<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-121306 aligncenter\" style=\"cursor: pointer;\" src=\"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/JFrog-detects-React-Native-vulnerability.png\" alt=\"\" width=\"2555\" height=\"1000\" data-lity=\"\" \/><em> JFrog SAST erkennt die Schwachstelle und zeigt ihre Details zusammen mit Data Trace Evidence an (Klicken Sie auf das Bild, um es zu vergr\u00f6\u00dfern)<\/em><\/p>\n<p>JFrog SAST hebt die Schwachstelle im Code zusammen mit den entsprechenden Details hervor und liefert \u201eData Trace Evidence\u201c, die den Datenfluss vom vom Benutzer eingegebenen Feld \u201ereq.body\u201c bis zu dessen Verwendung als Eingabe f\u00fcr die gef\u00e4hrliche \u201eopen\u201c-Funktion veranschaulicht.<\/p>\n<p>Um auch bei anderen Angriffen und Zero-Day-Schwachstellen auf dem Laufenden zu bleiben, besuchen Sie das <a href=\"https:\/\/research.jfrog.com\/\">JFrog Security Research<\/a> Center, um die neuesten Informationen zu CVEs, Schwachstellen und Korrekturen zu erhalten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update vom 9.\u00a0Februar\u00a02026\u00a0\u2013 Unterschied bei den Auswirkungen vor Version 17.0.0 und ab Version 17.0.0 wurde klargestellt Das JFrog Security Research Team hat vor Kurzem CVE-2025-11953 entdeckt und offengelegt\u00a0\u2013 eine kritische (CVSS 9.8) Sicherheitsl\u00fccke, die das \u00e4u\u00dferst beliebte NPM-Paket @react-native-community\/cli betrifft, das ungef\u00e4hr 2\u00a0Mio. w\u00f6chentliche Downloads hat. Die Schwachstelle erm\u00f6glicht es nicht authentifizierten Angreifern aus der &hellip;<\/p>\n","protected":false},"author":812,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[10157],"tags":[11016,11015,11014,11013,10348,10848],"class_list":["post-174932","post","type-post","status-publish","format-standard","hentry","category-sicherheit-und-devsecops","tag-cli-de","tag-cve-de","tag-rce-de","tag-react-native-de","tag-security-research-de","tag-vulnerabilities-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>CVE-2025-11953: Kritische RCE in React Native CLI<\/title>\n<meta name=\"description\" content=\"Erfahren Sie, wie das Team von JFrog Security Research CVE-2025-11953 entdeckt und offengelegt hat, eine Schwachstelle, die eine Bedrohung f\u00fcr Entwickler darstellt, die das beliebte React Native CLI verwenden.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174932\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie, wie das Team von JFrog Security Research CVE-2025-11953 entdeckt und offengelegt hat, eine Schwachstelle, die eine Bedrohung f\u00fcr Entwickler darstellt, die das beliebte React Native CLI verwenden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/\" \/>\n<meta property=\"og:site_name\" content=\"JFrog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artifrog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-28T11:52:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-30T11:33:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png\" \/>\n\t<meta property=\"og:image:width\" content=\"863\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"adivi@jfrog.com\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jfrog\" \/>\n<meta name=\"twitter:site\" content=\"@jfrog\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"adivi@jfrog.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/\"},\"author\":{\"name\":\"adivi@jfrog.com\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#\\\/schema\\\/person\\\/338056045cd2eca48f83762c9059c7ef\"},\"headline\":\"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler\",\"datePublished\":\"2026-09-28T11:52:25+00:00\",\"dateModified\":\"2026-09-30T11:33:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/\"},\"wordCount\":2151,\"publisher\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/03-Blog-inner-main-img-863X300.png\",\"keywords\":[\"CLI\",\"cve\",\"rce\",\"react native\",\"security-research\",\"vulnerabilities\"],\"articleSection\":[\"Sicherheit und DevSecOps\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/\",\"url\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/\",\"name\":\"CVE-2025-11953: Kritische RCE in React Native CLI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/03-Blog-inner-main-img-863X300.png\",\"datePublished\":\"2026-09-28T11:52:25+00:00\",\"dateModified\":\"2026-09-30T11:33:45+00:00\",\"description\":\"Erfahren Sie, wie das Team von JFrog Security Research CVE-2025-11953 entdeckt und offengelegt hat, eine Schwachstelle, die eine Bedrohung f\u00fcr Entwickler darstellt, die das beliebte React Native CLI verwenden.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/03-Blog-inner-main-img-863X300.png\",\"contentUrl\":\"https:\\\/\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/03-Blog-inner-main-img-863X300.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/blog\\\/cve-2025-11953-critical-react-native-community-cli-vulnerability\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jfrog.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/jfrog.com\\\/de\\\/\",\"name\":\"JFrog\",\"description\":\"Deliver Trusted Software Releases at Speed and Scale\",\"publisher\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jfrog.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#organization\",\"name\":\"JFrog\",\"url\":\"https:\\\/\\\/jfrog.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/speedmedia2.jfrog.com\\\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Logo.svg\",\"contentUrl\":\"https:\\\/\\\/speedmedia2.jfrog.com\\\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\\\/jfrog.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Logo.svg\",\"width\":74,\"height\":73,\"caption\":\"JFrog\"},\"image\":{\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/artifrog\",\"https:\\\/\\\/x.com\\\/jfrog\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/455737\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCh2hNg76zo3d1qQqTWIQxDg\",\"https:\\\/\\\/www.wikidata.org\\\/wiki\\\/Q98608948\"],\"description\":\"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.\",\"legalName\":\"Jfrog, Inc.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jfrog.com\\\/de\\\/#\\\/schema\\\/person\\\/338056045cd2eca48f83762c9059c7ef\",\"name\":\"adivi@jfrog.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a4576a219390f82b178763771dde74932215f7d4fda5a49c39c07c3444cd3415?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a4576a219390f82b178763771dde74932215f7d4fda5a49c39c07c3444cd3415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a4576a219390f82b178763771dde74932215f7d4fda5a49c39c07c3444cd3415?s=96&d=mm&r=g\",\"caption\":\"adivi@jfrog.com\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CVE-2025-11953: Kritische RCE in React Native CLI","description":"Erfahren Sie, wie das Team von JFrog Security Research CVE-2025-11953 entdeckt und offengelegt hat, eine Schwachstelle, die eine Bedrohung f\u00fcr Entwickler darstellt, die das beliebte React Native CLI verwenden.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174932","og_locale":"de_DE","og_type":"article","og_title":"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler","og_description":"Erfahren Sie, wie das Team von JFrog Security Research CVE-2025-11953 entdeckt und offengelegt hat, eine Schwachstelle, die eine Bedrohung f\u00fcr Entwickler darstellt, die das beliebte React Native CLI verwenden.","og_url":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/","og_site_name":"JFrog","article_publisher":"https:\/\/www.facebook.com\/artifrog","article_published_time":"2026-09-28T11:52:25+00:00","article_modified_time":"2026-09-30T11:33:45+00:00","og_image":[{"width":863,"height":300,"url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png","type":"image\/png"}],"author":"adivi@jfrog.com","twitter_card":"summary_large_image","twitter_creator":"@jfrog","twitter_site":"@jfrog","twitter_misc":{"Verfasst von":"adivi@jfrog.com","Gesch\u00e4tzte Lesezeit":"10\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#article","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/"},"author":{"name":"adivi@jfrog.com","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/338056045cd2eca48f83762c9059c7ef"},"headline":"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler","datePublished":"2026-09-28T11:52:25+00:00","dateModified":"2026-09-30T11:33:45+00:00","mainEntityOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/"},"wordCount":2151,"publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"image":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#primaryimage"},"thumbnailUrl":"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png","keywords":["CLI","cve","rce","react native","security-research","vulnerabilities"],"articleSection":["Sicherheit und DevSecOps"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/","url":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/","name":"CVE-2025-11953: Kritische RCE in React Native CLI","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#primaryimage"},"image":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#primaryimage"},"thumbnailUrl":"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png","datePublished":"2026-09-28T11:52:25+00:00","dateModified":"2026-09-30T11:33:45+00:00","description":"Erfahren Sie, wie das Team von JFrog Security Research CVE-2025-11953 entdeckt und offengelegt hat, eine Schwachstelle, die eine Bedrohung f\u00fcr Entwickler darstellt, die das beliebte React Native CLI verwenden.","breadcrumb":{"@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#primaryimage","url":"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png","contentUrl":"https:\/\/jfrog.com\/wp-content\/uploads\/2025\/08\/03-Blog-inner-main-img-863X300.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jfrog.com\/de\/blog\/cve-2025-11953-critical-react-native-community-cli-vulnerability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jfrog.com\/de\/"},{"@type":"ListItem","position":2,"name":"Kritische RCE-Schwachstelle CVE-2025-11953 gef\u00e4hrdet React-Native-Entwickler"}]},{"@type":"WebSite","@id":"https:\/\/jfrog.com\/de\/#website","url":"https:\/\/jfrog.com\/de\/","name":"JFrog","description":"Deliver Trusted Software Releases at Speed and Scale","publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jfrog.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/jfrog.com\/de\/#organization","name":"JFrog","url":"https:\/\/jfrog.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/jfrog.com\/wp-content\/uploads\/2025\/05\/Logo.svg","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/jfrog.com\/wp-content\/uploads\/2025\/05\/Logo.svg","width":74,"height":73,"caption":"JFrog"},"image":{"@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artifrog","https:\/\/x.com\/jfrog","https:\/\/www.linkedin.com\/company\/455737","https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg","https:\/\/www.wikidata.org\/wiki\/Q98608948"],"description":"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.","legalName":"Jfrog, Inc.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/338056045cd2eca48f83762c9059c7ef","name":"adivi@jfrog.com","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/a4576a219390f82b178763771dde74932215f7d4fda5a49c39c07c3444cd3415?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a4576a219390f82b178763771dde74932215f7d4fda5a49c39c07c3444cd3415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a4576a219390f82b178763771dde74932215f7d4fda5a49c39c07c3444cd3415?s=96&d=mm&r=g","caption":"adivi@jfrog.com"}}]}},"_links":{"self":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174932","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/users\/812"}],"replies":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/comments?post=174932"}],"version-history":[{"count":0,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/174932\/revisions"}],"wp:attachment":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/media?parent=174932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/categories?post=174932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/tags?post=174932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}