Ein zentrales Entwicklungswerkzeug für mobile Apps auf Basis von React Native weist eine schwerwiegende Sicherheitslücke auf.
Betroffen ist das weit verbreitete Paket react-native-community/cli, das von vielen Entwicklerinnen und Entwicklern genutzt wird, um plattformübergreifende Anwendungen zu erstellen. Entdeckt wurde die Schwachstelle von der Sicherheitsforschungsabteilung des Unternehmens JFrog. Sie wird unter der Kennung CVE-2025-11953 geführt und mit einem CVSS-Wert von 9,8 als kritisch eingestuft.
Angreifer können entfernten Code ausführen
Laut JFrog können Angreifer ohne Authentifizierung Betriebssystembefehle auf Rechnern ausführen, auf denen der Entwicklungsserver von React Native läuft. Unter Windows erlaubt die Schwachstelle die Ausführung beliebiger Shell-Befehle mit vollständiger Kontrolle über die Parameter. Auf macOS und Linux ist ebenfalls Codeausführung möglich, allerdings mit eingeschränkten Rechten. Die Ursache liegt in einem fehlerhaften Umgang mit Benutzereingaben: Eine URL, die an den Entwicklungsserver gesendet wird, wird nicht korrekt überprüft, bevor sie an eine Systemfunktion weitergegeben wird. So können manipulierte Eingaben zu ungewollten Befehlen auf dem Host-System führen.
Warum die Lücke von außen erreichbar ist
Zusätzlich verstärkt eine fehlerhafte Serverkonfiguration das Risiko. Standardmäßig gibt der Server an, nur auf „localhost“ zu lauschen, ist tatsächlich aber über alle Netzwerkadressen erreichbar. Dadurch werden bestimmte HTTP-Endpunkte auch aus externen Netzwerken zugänglich – darunter derjenige, über den sich die Befehle einschleusen lassen. Diese Kombination aus ungesicherter Schnittstelle und mangelnder Eingabekontrolle öffnet Angreifern Tür und Tor.
Wer betroffen ist
Gefährdet sind Entwicklerinnen und Entwickler, die ihre Projekte mit einer anfälligen Version des Pakets erstellt haben und den Metro-Entwicklungsserver mit Standardbefehlen wie npm start oder npx react-native ausführen. Wer React Native über Frameworks verwendet, die nicht auf Metro basieren, ist in der Regel nicht betroffen. Besonders Windows-Systeme sind aufgrund der vollen Shell-Zugriffsrechte anfällig.
Die Schwachstelle wurde in der Version 20.0.0 des Pakets @react-native-community/cli-server-api behoben. Entwickler sollten umgehend auf diese oder eine höhere Version aktualisieren. Falls ein sofortiges Update nicht möglich ist, empfiehlt sich als Übergangslösung, den Entwicklungsserver explizit nur an die lokale Adresse zu binden – beispielsweise mit dem Startparameter –host 127.0.0.1. Dadurch wird der Zugriff aus externen Netzwerken verhindert.
Lehren für die sichere Softwareentwicklung
Der Vorfall verdeutlicht, wie schnell Schwachstellen in alltäglichen Entwicklungstools entstehen können. Insbesondere dann, wenn externe Bibliotheken eingebunden werden. Das Beispiel zeigt, wie gefährlich es ist, unbereinigte Eingaben direkt an Systemfunktionen weiterzuleiten.
JFrog rät, automatisierte Sicherheitsscans und statische Codeanalysen (SAST) fest in Entwicklungsprozesse zu integrieren. Solche Tools können Datenflüsse von Benutzereingaben bis hin zu potenziell unsicheren Funktionsaufrufen erkennen und Schwachstellen frühzeitig aufzeigen.