UNKNOWNCVE-2026-35187

pyLoad: SSRF in parse_urls API endpoint via unvalidated URL parameter

Platform

python

Component

pyload-ng

## Vulnerabiliteitsdetails **CWE-918**: Server-Side Request Forgery (SSRF) De `parse_urls` API functie in `src/pyload/core/api/__init__.py` (regel 556) haalt willekeurige URL's server-side op via `get_url(url)` (pycurl) zonder enige URL validatie, protocol restrictie of IP blacklist. Een geauthenticeerde gebruiker met ADD permissie kan: - HTTP/HTTPS verzoeken doen naar interne netwerk resources en cloud metadata endpoints - **Lokale bestanden lezen** via het `file://` protocol (pycurl leest het bestand server-side) - **Interactie hebben met interne services** via de `gopher://` en `dict://` protocollen - **Bestandsbestaan enumereren** via error-based oracle (error 37 vs lege response) ### Kwetsbare Code **`src/pyload/core/api/__init__.py` (regel 556)**: ```python def parse_urls(self, html=None, url=None): if url: page = get_url(url) # NO protocol restriction, NO URL validation, NO IP blacklist urls.update(RE_URLMATCH.findall(page)) ``` Er wordt geen validatie toegepast op de `url` parameter. De onderliggende pycurl ondersteunt standaard `file://`, `gopher://`, `dict://` en andere gevaarlijke protocollen. ## Stappen om te reproduceren ### Setup ```bash docker run -d --name pyload -p 8084:8000 linuxserver/pyload

Hoe te verhelpen

Geen officiële patch beschikbaar. Zoek naar tijdelijke oplossingen of monitor updates.

Bewaak uw afhankelijkheden automatisch

Ontvang meldingen wanneer nieuwe kwetsbaarheden uw projecten beïnvloeden.

Gratis beginnen