pyload
A pyLoad-ng 0.5.0b3.dev76 server built from python:3.10-alpine3.18, configured with debug mode and a web interface on port 8000. It exposes ports 8000 and 9666 to the host.
pyload/Dockerfile:1-5pyload/pyload.cfg:1-74compose.yaml:3-8Cross-Site Request Forgery on any API call in pyLoad may lead to admin privilege escalation
EIP currently links 1 repository PoC and 1 lab environment to CVE-2024-22416.
pyLoad is a free and open-source Download Manager written in pure Python. The `pyload` API allows any API call to be made using GET requests. Since the session cookie is not set to `SameSite: strict`, this opens the library up to severe attack possibilities via a Cross-Site Request Forgery (CSRF) attack. As a result any API call can be made via a CSRF attack by an unauthenticated user. This issue has been addressed in release `0.5.0b3.dev78`. All users are advised to upgrade.
| Product | Source | Version range | Status |
|---|---|---|---|
pyloadBrowse pyload / pyload | CVE List | < 0.5.0b3.dev78 | affected |
pyload-ngBrowse PyPI / pyload-ng | GitHub Advisory | Before 0.5.0b3.dev78 · Fixed in 0.5.0b3.dev78 | affected |
A Docker Compose environment that sets up a pyLoad server (version 0.5.0b3.dev76) and an attacker server serving a CSRF proof-of-concept page, intended to demonstrate CVE-2024-22416.
compose.yaml:1-15README.md:1-13The README explicitly states the repository contains a Docker Compose configuration to test CVE-2024-22416, and the components (pyLoad server, attacker CSRF page) match a vulnerability reproduction environment.
README.md:1-8A pyLoad-ng 0.5.0b3.dev76 server built from python:3.10-alpine3.18, configured with debug mode and a web interface on port 8000. It exposes ports 8000 and 9666 to the host.
pyload/Dockerfile:1-5pyload/pyload.cfg:1-74compose.yaml:3-8An nginx:alpine server that serves a single csrf.html page. The page auto-submits a form to http://localhost:8000/api/add_user/ to add a user 'hacker'. It exposes port 80 mapped to host port 8001.
attacker/Dockerfile:1-2attacker/csrf.html:1-12compose.yaml:9-13Supported by supplied evidence
The environment is explicitly built to demonstrate CVE-2024-22416, as stated in the README. The CSRF page targets the pyLoad API to add a user, which aligns with the cross-site request forgery vulnerability described in the referenced advisory.
README.md:1-8attacker/csrf.html:4README.md:6-7README.md:9-10README.md:6-7README.md:9-10README.md:10-12README.md:12All visible behavior is confined to the lab's own containers. The CSRF attack targets the local pyLoad service within the Docker network, and no evidence shows host escape, external connections, persistence, credential theft, or destructive actions beyond the intended vulnerability demonstration.
compose.yaml:1-15attacker/csrf.html:4README.md:1-13This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.