Bußgeld-Kopfzeile

CVE-2025-11953 in React Native: Vollständiger Exploit, Reverse Shell und Anleitung zur Schadensbegrenzung

Einführung: Warum CVE-2025-11953 ein Wendepunkt für die Sicherheit von React Native ist

Wenn Sie ein React Native Entwickler oder IT-Sicherheitsexperte, der mit mobilen Anwendungen arbeitet, müssen Sie folgende Punkte beachten CVE-2025-11953-eine kritische Sicherheitslücke, die den Kern betrifft Metro-Entwicklungsserver verwendet in React Native Projekte. Diese Schwachstelle macht die Entwicklungsumgebung anfällig für Remote-Code-Ausführung (RCE) Angriffe, die ein erhebliches Risiko darstellen, insbesondere für diejenigen, die ihre Entwicklungsserver nicht sicher konfigurieren.

Im Grunde genommen, CVE-2025-11953 zeigt eine Doppelunglück: Standardkonfigurationsmängel und Schwachstellen durch Befehlsinjektion. Die Metro-Entwicklungsserverdie für die Bündelung und das Debugging von React Native-Anwendungen unerlässlich ist, bindet sich standardmäßig an 0.0.0.0und ermöglicht so den externen Zugriff auf den Server. Außerdem akzeptieren bestimmte exponierte Endpunkte des Servers ungefilterte Benutzereingaben, die es Angreifern ermöglichen, Betriebssystembefehle einzuschleusen, was zu RCE und vollständig Host-Übernahme.

Da es sich bei React Native um ein führendes Framework für die plattformübergreifende Entwicklung mobiler Apps handelt, unterschätzen Entwickler häufig die Risiken, die von dieser Schwachstelle ausgehen. In diesem Artikel werden wir die Kernprobleme von React Native aufschlüsseln. CVE-2025-11953Wir gehen auf die technischen Auswirkungen ein und bieten umsetzbare Schritte, um das Risiko zu minimieren. Wir werden auch auf die praktischen Aspekte der Sicherung Ihrer Entwicklungsumgebung und der Aufrechterhaltung sicherer React Native-Workflows eingehen.

Was ist CVE-2025-11953? Ein genauerer Blick

Nach Angaben des JFrog Ltd. Security Research Team betrifft die Sicherheitslücke das weit verbreitete NPM-Paket @react-native-community/clidie den Metro-Server für React Native steuert. Die Schwachstelle erlaubt es nicht authentifizierten Angreifern, eine manipulierte POST-Anfrage an einen exponierten Endpunkt zu senden (wie z. B. /open-url) und beliebige Betriebssystembefehle auf dem Host ausführen. JFrog+2nvd.nist.gov+2 Schlüsselfaktoren:

  • CVSS 3.1 Wertung: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) nvd.nist.gov
  • Betroffene Versionen: @react-native-gemeinschaft/cli-server-api von 4.8.0 bis 20.0.0-alpha.2. Patch verfügbar in Version 20.0.0. Die Hacker-News+1
  • Grundlegendes Problem: Metro-Server bindet sich standardmäßig an 0.0.0.0 und leitet Benutzereingaben durch öffnen() (aus dem geöffneten npm-Paket) in einen OS-Befehlsausführungspfad. CSO Online+1

Warum das wichtig ist: Im Gegensatz zu typischen dev-server-Fehlern, die auf localhost beschränkt sind, bietet dieser eine Remote-Netzwerk-Vektor. Entwicklungsmaschinen und CI-Agenten, auf denen Metro läuft, sind gefährdet. eSecurity Planet

ArtikelEinzelheiten
CVE-IDCVE-2025-11953
Schwachstelle TypOS-Befehlsinjektion (CWE-78)
Betroffene KomponenteReact Native CLI's Metro Entwicklungsserver
Betroffene VersionenReact Native ≤ 0.74.1 / Metro ≤ 0.81.0 (und CLI-server-api 4.8.0-20.0.0-alpha.2)
Endpunkt auslösenOffengelegte HTTP-Endpunkte (z. B. /open-url, /symbolicate, /debugger-ui)
Schweregrad (CVSS)9.8 / AV:N / AC:L / PR:N / UI:N
Primäres RisikoRemote-Code-Ausführung → Kompromittierung von Dev-Maschinen → Seitwärtsbewegung im internen Netzwerk
CVE-2025-11953 Strafmündig

Hier ein genauerer Blick auf die spezifischen technischen Risiken, die diese Schwachstelle besonders gefährlich machen:

Standardbelichtung von Metro Server

Wenn React Native CLI startet die Metro-Entwicklungsserverwird standardmäßig die Bindung an 0.0.0.0Das bedeutet, dass der Server alle verfügbaren Netzwerkschnittstellen abhört - sowohl interne als auch externe. Dies ist ein großes Sicherheitsrisiko für jeden Entwickler, der den Server auf einem Rechner mit Internetzugang.

Hier ist ein Beispiel für den Code, der diese Standardbindung konfiguriert:

javascript:

// Metro-Server-Standardkonfiguration (react-native/node_modules/metro/src/server/index.js)

const config = {

host: '0.0.0.0', // bindet an alle Schnittstellen

Port: 8081, // Standardanschluss

enableCORS: true // Herkunftsübergreifende Anfragen aktiviert

};

Was passieren sollte, ist, dass der Metro-Server sich nur an 127.0.0.1 (localhost), wodurch sichergestellt wird, dass nur der lokale Entwicklungsrechner darauf zugreifen kann. Diese Konfiguration erlaubt jedoch Fernzugriffund gefährdet damit den Server.

Sicherheitslücke durch Befehlsinjektion

Der zweite Teil der Schwachstelle betrifft Befehlsinjektionwo bestimmte Endpunkte, wie /symbolisieren und /debugger-uigeben Benutzereingaben direkt in Systembefehle ein. Diese fehlende Eingabevalidierung ermöglicht es Angreifern, bösartige Befehle einzuschleusen und möglicherweise beliebigen Code auszuführen.

Zum Beispiel kann ein rechtmäßiger Antrag auf /symbolisieren könnte folgendermaßen aussehen:

POST /Symbolik HTTP/1.1

Rechner: [Ziel-IP]:8081

Inhalt-Typ: application/json

{

"logPath": "/var/log/react-native/crash.log"

}

Ein Angreifer könnte jedoch zusätzliche Befehle einschleusen, etwa diesen:

POST /Symbolik HTTP/1.1

Rechner: [Ziel-IP]:8081

Inhalt-Typ: application/json

{

"logPath": "/var/log/react-native/crash.log && whoami"

}

In diesem Fall führt das System den Befehl cat /var/log/react-native/crash.log && whoamiund ermöglicht es dem Angreifer, beliebige Befehle auf dem Server auszuführen, z. B. whoami um den aktuellen Benutzer zu ermitteln.

Welche Versionen von React Native sind von CVE-2025-11953 betroffen?

Die Schwachstelle wirkt sich aus React Native Versionen ≤ 0.74.1 und Metro-Versionen ≤ 0.81.0. Wenn Sie diese oder ältere Versionen verwenden, sollten Sie unbedingt sofort ein Upgrade durchführen, um zu vermeiden, dass Ihre Entwicklungsumgebung für die Ausführung von Remotecode anfällig ist.

Um Ihre React Native-Version zu überprüfen, können Sie diese ausführen:

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

Wenn die Version veraltet ist, führen Sie ein Upgrade auf eine sichere Version durch:

npm install react-native@latest

Wenn ein Upgrade von React Native nicht sofort machbar ist, können Sie update Metro unabhängig durch Laufen:

npm install metro@latest --save-dev

Praktische Abhilfestrategien für CVE-2025-11953

Sofortige Behebung: Metro an localhost binden

Wenn Sie Ihre Abhängigkeiten nicht sofort aktualisieren können, können Sie das Risiko vorübergehend abmildern, indem Sie die Metro-Server zu 127.0.0.1. Dies verhindert, dass externe Angreifer den Server erreichen können, selbst wenn dieser offen ist.

Um Metro an localhost zu binden, führen Sie aus:

npx react-native start --host 127.0.0.1

Um dies dauerhaft zu machen, fügen Sie Folgendes zu Ihrer paket.json:

"Skripte": {

"start": "react-native start --host 127.0.0.1",

"android": "react-native run-android",

"ios": "react-native run-ios"

}

Netzwerksicherheit: Firewalls verwenden

Eine weitere unmittelbare Schutzmaßnahme ist die Konfiguration von Firewalls um jeden externen Zugriff auf den Standard-Metro-Port (8081) zu blockieren. Verwenden Sie zum Beispiel unter Linux:

iptables -A INPUT -p tcp --dport 8081 -s 127.0.0.1 -j ACCEPT

iptables -A INPUT -p tcp --dport 8081 -j DROP

Für Windows-Benutzer konfigurieren Sie die Firewall so, dass Port 8081 auf localhost.

Penligent: Automatisierte Sicherheitstests für React Native-Projekte

Als React Native-Entwickler müssen Sie sich vor Schwachstellen wie CVE-2025-11953 kann eine Herausforderung sein. Das ist der Punkt Sträflicheine KI-gestützte Plattform für Penetrationstests, ins Spiel kommt. Sträflich automatisiert die Erkennung von Schwachstellen wie CVE-2025-11953und scannt Ihre React Native-Codebasis und -Konfigurationen, um potenzielle Risiken in Echtzeit zu identifizieren.

Mit Sträflichkönnen Sie automatisierte Penetrationstests in Ihre Entwicklungspipeline ein, um sicherzustellen, dass Ihre Projekte vor der Bereitstellung sicher sind. Dieser proaktive Sicherheitsansatz hilft Ihnen, kostspielige Schwachstellen zu vermeiden und Ihre Benutzer vor bösartigen Angriffen zu schützen.

Schlussfolgerung: Absicherung von React Native-Projekten vor CVE-2025-11953

CVE-2025-11953 hat kritische Sicherheitslücken in der Metro-Entwicklungsserver von React NativeDadurch wird es für Angreifer einfacher, eine Entwicklungsumgebung zu übernehmen. Durch das Verständnis der Konfigurationsmängel und Risiken der Befehlsinjektionkönnen Entwickler Maßnahmen ergreifen, um ihre Projekte zu schützen.

Zur Minderung der Risiken von CVE-2025-11953sollten Entwickler:

  • Upgrade auf die neueste Version React Native und Metro Versionen.
  • Implementieren Sie temporäre Korrekturen wie die Bindung des Servers an localhost.
  • Konfigurieren Sie Firewalls so, dass der Zugriff auf den Standard-Port von Metro eingeschränkt wird.

Darüber hinaus können mit Hilfe von Tools wie Sträflich können Sicherheitstests automatisiert werden, um sicherzustellen, dass Ihre Entwicklungsumgebung sicher bleibt. Durch die Anwendung dieser Strategien können Sie Ihre React Native-Projekte vor der Bedrohung durch Remote-Code-Ausführung und gewährleisten, dass Ihre Entwicklungsabläufe sicher bleiben.

Weitere bewährte Sicherheitsverfahren finden Sie in der OWASP Top Ten und npm-Sicherheitshinweise für laufende Aktualisierungen.

https://youtu.be/Nl9XoXOIqPM
Teilen Sie den Beitrag:
Verwandte Beiträge
de_DEGerman