Description
pyLoad is a free and open-source download manager written in Python. In 0.5.0b3.dev96 and earlier, the parse_urls API function in src/pyload/core/api/__init__.py fetches arbitrary URLs server-side via get_url(url) (pycurl) without any URL validation, protocol restriction, or IP blacklist. An authenticated user with ADD permission can make HTTP/HTTPS requests to internal network resources and cloud metadata endpoints, read local files via file:// protocol (pycurl reads the file server-side), interact with internal services via gopher:// and dict:// protocols, and enumerate file existence via error-based oracle (error 37 vs empty response).
Published: 2026-04-06
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Server Side Request Forgery exposing internal resources
Action: Immediate Patch
AI Analysis

Impact

The vulnerability resides in pyLoad’s parse_urls API endpoint, where the supplied URL is forwarded server‑side without validation. An authenticated user with ADD permission may request arbitrary URLs, including internal network addresses, file://, gopher://, and dict:// protocols. This enables reading local files, communicating with internal services, and enumerating file existence through error responses. The weakness is a classic Server Side Request Forgery (CWE‑918) that can lead to internal data exposure or network reconnaissance.

Affected Systems

The affected product is pyLoad (pyload:pyload). Versions up to and including 0.5.0b3.dev96 are vulnerable; later releases contain mitigations.

Risk and Exploitability

With a CVSS base score of 7.7 the vulnerability is considered high severity. While EPSS data is unavailable and it is not listed in KEV, exploitation requires authenticated access to pyLoad, limiting the attack surface. Nonetheless, an attacker could leverage the SSRF to access internal services, metadata endpoints, or download sensitive files if permissions are granted.

Generated by OpenCVE AI on April 7, 2026 at 01:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade pyLoad to a version newer than 0.5.0b3.dev96 that validates URLs and restricts protocols.

Generated by OpenCVE AI on April 7, 2026 at 01:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2wvg-62qm-gj33 pyLoad: SSRF in parse_urls API endpoint via unvalidated URL parameter
History

Tue, 07 Apr 2026 15:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 07 Apr 2026 09:45:00 +0000

Type Values Removed Values Added
First Time appeared Pyload
Pyload pyload
Vendors & Products Pyload
Pyload pyload

Mon, 06 Apr 2026 20:00:00 +0000

Type Values Removed Values Added
Description pyLoad is a free and open-source download manager written in Python. In 0.5.0b3.dev96 and earlier, the parse_urls API function in src/pyload/core/api/__init__.py fetches arbitrary URLs server-side via get_url(url) (pycurl) without any URL validation, protocol restriction, or IP blacklist. An authenticated user with ADD permission can make HTTP/HTTPS requests to internal network resources and cloud metadata endpoints, read local files via file:// protocol (pycurl reads the file server-side), interact with internal services via gopher:// and dict:// protocols, and enumerate file existence via error-based oracle (error 37 vs empty response).
Title pyLoad has SSRF in parse_urls API endpoint via unvalidated URL parameter
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-07T14:03:28.344Z

Reserved: 2026-04-01T17:26:21.134Z

Link: CVE-2026-35187

cve-icon Vulnrichment

Updated: 2026-04-07T14:03:20.363Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-04-06T20:16:27.207

Modified: 2026-04-07T15:17:42.940

Link: CVE-2026-35187

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-07T09:37:26Z

Weaknesses