CVE-2026-45348 pyLoad: Stored XSS in Downloads view via unsanitized link URL in packages.js template literal
Attackers can execute arbitrary JavaScript in operator browsers via stored XSS in the downloads view, potentially leading to session hijacking or further compromise.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-45348?
CVE-2026-45348 is a high-severity cross-site scripting vulnerability in pyload, published on 28 May 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, the packages.js template at src/pyload/webui/app/themes/modern/templates/js/packages.js:172 interpolates a stored link URL into a template literal inside single-quoted HTML and then writes the result to the DOM via $(div).html(html). No escaping runs between the API value and innerHTML. An attacker (Alice) who can submit a package link puts a single quote plus event handler into the URL, breaks out of the attribute, and executes JavaScript in every operator's browser that opens the downloads view. The theme does not set a Content Security Policy that restricts inline script or event handlers. This vulnerability is fixed in 0.5.0b3.dev100.
Weakness: CWE-79
Which versions are affected by CVE-2026-45348?
3 open source packages ship an affected version, including pyload-ng.
| Package | Affected | Fixed in |
|---|---|---|
pyload-ng PyPI | All versions to 0.5.0b3.dev99 | None |
pyload-ng PyPI | All versions to 0.5.0b3.dev99 | None |
pyload-ng PyPI | All versions to 0.5.0b3.dev99 | None |
How do I fix CVE-2026-45348?
No fix has been published for CVE-2026-45348 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-45348 being exploited?
There is no known exploitation of CVE-2026-45348 in the wild and no public exploit code.
Sources
Also known as GHSA-fcjq-435v-jx94, PYSEC-2026-2994.