p PatchFirst

PatchFirst · Aktuelle Sicherheitslücken

pyload-ng 0.5.0b3.dev99: bekannte Sicherheitslücken

Der Vergleich für pyload-ng 0.5.0b3.dev99 ist unvollständig. Prüfen Sie die bestätigten Treffer unten.

Sicherheitslücken filtern
Filter zurücksetzen

1 Eintrag konnte nicht verglichen werden. Die Ergebnisse sind unvollständig.

Sicherheitslücken: 24

  1. GHSA-68w4-83fh-f2w8

    Hoch · CVSS 8.1Keine Korrektur veröffentlicht

    pyload-ng: getUserData/get_userdata exposed at Perms.ANY allow any authenticated account to brute-force the administrator password

    ## Summary `Api.getUserData` (legacy) and `Api.get_userdata` are declared with `@permission(Perms.ANY)` and are reachable at `/api/getUserData` and `/api/get_userdata`. Because `Perms.ANY == 0` and pyLoad's permission check is a bitmask AND, that gate is a no-op: **every authenticated account passes, including one holding zero permission bits.** Both methods are thin wrappers around `check_auth()`, which the maintainers deliberately restricted to administrators by omitting `@permission` (no entry in `perm_map`, so `is_authorized()` returns `False` for non-admins). The wrappers undo that protection. An attacker holding the lowest-privileged

    Veröffentlicht Aktualisiert
  2. GHSA-jq7h-wrvp-3rgx

    Hoch · CVSS 7.5Keine Korrektur veröffentlicht

    pyLoad: Privilege revocation and password change through the REST API do not invalidate the user's session

    An admin who revokes a user's privileges through the REST API does not actually revoke them, because the session carrying those privileges is never invalidated. pyLoad authorizes each request from values copied into the Flask session at login. set_session in webui/app/helpers.py writes role and perms once, and both login_required and the session branch of apikey_auth read them back from the session rather than from the database. The fix for GHSA-66hx-chf7-3332 handled this by deleting the user's session files, but the call was added only in webui/app/blueprints/json_blueprint.py, at the three WebUI form handlers. Api.set_user_permission and

    Veröffentlicht Aktualisiert
  3. GHSA-889w-m37p-88m5

    Hoch · CVSS 7.5Keine Korrektur veröffentlicht

    pyLoad: Api.set_user_permission never invalidates the target's session

    ### Summary An admin who revokes or downgrades a non-admin user's permissions through pyLoad's own documented `/api/<func>` RPC surface — e.g. `POST /api/set_user_permission` (or its legacy alias `/api/setUserPermission`) — updates the target's database row but never invalidates that user's existing Flask cookie session. The demoted user keeps their pre-revocation `role`/`permission` bits on every subsequent WebUI page load and every subsequent `/api/<func>` call made with that cookie, for up to the default `session_lifetime` of ~31 days, or until they voluntarily log out. No action by the demoted user is required beyond already being logged

    Veröffentlicht Aktualisiert
  4. GHSA-p3pr-8f3m-4qp8

    Mittel · CVSS 6.4Keine Korrektur veröffentlicht

    pyLoad WindowsPhoneNotify addon: non-admin SETTINGS user triggers SSRF via unguarded http.client notification host

    ## Summary pyLoad ships the WindowsPhoneNotify addon, whose `send()` method opens an HTTP connection to a host taken directly from the plugin's `pushurl` configuration value. A user holding the standard non-admin `SETTINGS` permission can set `pushurl` and `pushid` and enable the addon through the web API, since these plugin options are not in the admin-only option set. Once enabled, the addon activates dynamically without a restart, and any completed download (download events fire globally, not per user) causes the addon to send an HTTP POST to the configured host and path. The request is made with Python's `http.client.HTTPConnection`, so

    Veröffentlicht Aktualisiert
  5. GHSA-fr26-jjhm-638c

    Hoch · CVSS 7.7Keine Korrektur veröffentlicht

    pyLoad: Tar extraction creates device nodes and FIFOs (member types not filtered; tarfile extractall without filter=)

    ### Summary `UnTar._safe_extractall` — the hardening added for GHSA-mvwx-582f-56r7 — validates member **names** and symlink/hardlink **targets**, but never checks member **types**, and calls `tarfile.extractall` without a `filter=`. On Python < 3.14 the default extraction filter is `fully_trusted`, so a crafted tar containing device or FIFO entries makes pyLoad create them on disk. When pyLoad runs as root (the official Docker deployment), a block-device member grants raw disk access — full host compromise — reachable by any low-privileged user who can trigger archive extraction (ADD to supply an archive, STATUS to invoke `ExtractArchive.ext

    Veröffentlicht Aktualisiert
  6. GHSA-r44w-v6gf-x3p6

    Hoch · CVSS 8.1Korrektur verfügbar

    pyLoad has an authentication bypass in API key validation (check_apikey cache)

    ## Summary The API-key cache in `check_apikey()` allows an attacker to authenticate with a **forged API key** as long as the legitimate key for the same `key_id` has been used recently. On a cache hit, the API key **secret is never verified**, resulting in a complete authentication bypass during the cache lifetime. --- # Affected Components - `src/pyload/core/api/init.py` - `Api.check_apikey()` - `src/pyload/core/database/apikey_database.py` - `check_apikey()` - `_check_key()` The cache is used by normal API requests through: - `src/pyload/webui/app/helpers.py` which calls: ```python api.check_apikey(api_key) ``` without prov

    • Auf 0.5.0b3.dev101 aktualisieren
    Veröffentlicht Aktualisiert
  7. CVE-2026-75597

    Mittel · CVSS 5.3EPSS 0,3%Korrektur verfügbar

    pyLoad: Unauthenticated access to /web/<path:filename> bypasses authentication on sensitive templates and leaks internal error details via exception attribute typo

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev101, the `/web/<path:filename>` route in `src/pyload/webui/app/blueprints/app_blueprint.py` renders Jinja2 templates without any authentication requirement. Every equivalent direct route (`/logs`, `/settings`, `/queue`, `/dashboard`, etc.) is protected by `@login_required`, but the underlying templates for all of these pages are accessible unauthenticated via this endpoint. Combined with an exception attribute typo in `src/pyload/webui/app/handlers.py` (`exc.desc` instead of `exc.description`), internal Jinja2 variable names are leaked in HTTP 500 respons

    • Auf 0.5.0b3.dev101 aktualisieren
    Veröffentlicht Aktualisiert
  8. CVE-2026-48484

    Mittel · CVSS 6.5EPSS 0,37%Öffentlicher ExploitKorrektur verfügbar

    pyLoad: Lack of Input Size Validation Leads to Denial of Service (DoS) and Process Termination

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev101, the API `rpc` function in `api_blueprint.py` handles `multipart/form-data` uploads by reading the whole content of the uploaded file into memory with `file.read()`. This occurs before the data is sent to the underlying function. Since there is no size limit set at this point, a large file upload can exhaust the server's available memory which led to process termination. Version 0.5.0b3.dev101 contains a patch.

    • Auf 0.5.0b3.dev101 aktualisieren
    Veröffentlicht Aktualisiert
  9. CVE-2026-48987

    Mittel · CVSS 6.5EPSS 0,44%Keine Korrektur veröffentlicht

    pyLoad: Unbounded Memory Growth Leading to DoS and Potential DDoS in EventManager

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev101, EventManager in src/pyload/core/managers/event_manager.py appends a Client object to the clients list for each unique uuid submitted to the authenticated getEvents API endpoint, but get_events does not invoke the available clean method to remove inactive clients. An authenticated user can repeatedly submit unique UUID values, causing retained client objects and process memory to grow without bound even after requests stop. The resulting memory exhaustion can trigger an operating-system out-of-memory termination of pyLoad or host-wide instability and

    Veröffentlicht Aktualisiert
  10. CVE-2026-48737

    Mittel · CVSS 4.9EPSS 0,29%Keine Korrektur veröffentlicht

    pyLoad: SSRF guard bypass via IPv6 6to4/NAT64 transition wrappers of internal IPs

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev101, is_global_address in src/pyload/core/utils/web/check.py relies on Python's global-address classification without examining IPv4 destinations embedded in 6to4 or NAT64 IPv6 addresses. A low-privileged user can submit an IPv6 literal through parse_urls to the pre-resolution is_global_host guard. Because host_to_ip is pinned to AF_INET, that guard does not evaluate a hostname's AAAA result. Separately, curl resolves hostnames before the pycurl PREREQFUNC in src/pyload/core/network/http/http_request.py applies the same vulnerable is_global_address check

    Veröffentlicht Aktualisiert
  11. CVE-2026-45306

    Mittel · CVSS 6.5EPSS 0,23%Keine Korrektur veröffentlicht

    pyLoad: Incomplete Fix for CVE-2026-33509 -storage_folder Bypass via Session Directory

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, the fix for CVE-2026-33509 prevents setting storage_folder inside PKGDIR or userdir, but does NOT protect the Flask session directory (/tmp/pyLoad/flask). An authenticated attacker can set storage_folder to the session directory and download session files of other users via /files/get/, leading to account takeover. This vulnerability is fixed in 0.5.0b3.dev100.

    Veröffentlicht Aktualisiert
  12. CVE-2026-45348

    Hoch · CVSS 8.7EPSS 0,2%Keine Korrektur veröffentlicht

    pyLoad: Stored XSS in Downloads view via unsanitized link URL in packages.js template literal

    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

    Veröffentlicht Aktualisiert
  13. CVE-2026-46561

    Mittel · CVSS 5.0EPSS 0,18%Korrektur verfügbar

    pyLoad: SSRF via HTTP Redirect Bypass in parse_urls API

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, the PREREQFUNCTION-based private IP check was not applied to HTTPRequest (used by the parse_urls API). An authenticated attacker can supply a URL pointing to an attacker-controlled server that responds with a 302 redirect to an internal/private IP address, bypassing the is_global_host() check on the initial URL. This vulnerability is fixed in 0.5.0b3.dev100.

    • Auf 0.5.0b3.dev100 aktualisieren
    Veröffentlicht Aktualisiert
  14. CVE-2026-44226

    Mittel · CVSS 5.3EPSS 0,34%Korrektur verfügbar

    pyLoad: Unauthenticated traceback disclosure via global exception handler in WebUI

    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.

    • Auf 0.5.0b3.dev100 aktualisieren
    Veröffentlicht Aktualisiert
  15. CVE-2026-42315

    Hoch · CVSS 8.1EPSS 0,4%Korrektur verfügbar

    pyLoad: Path Traversal via Package Folder Name in set_package_data

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, when passing a folder name in the set_package_data() API function call inside the data object with key "_folder", there is no sanitization at all, allowing a user with Perms.MODIFY to specify arbitrary directories as download locations for a package. This vulnerability is fixed in 0.5.0b3.dev100.

    • Auf 0.5.0b3.dev100 aktualisieren
    Veröffentlicht Aktualisiert
  16. CVE-2026-42314

    Mittel · CVSS 6.5EPSS 0,34%Korrektur verfügbar

    pyLoad: Path Traversal via Package Folder Name

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, package folder names are sanitized using insufficient string replacement. The pattern ....// becomes .._ after replacement (partial removal), leaving .. which can be exploited when the path is later resolved by the OS. This vulnerability is fixed in 0.5.0b3.dev100.

    • Auf 0.5.0b3.dev100 aktualisieren
    Veröffentlicht Aktualisiert
  17. CVE-2026-42312

    Mittel · CVSS 6.8EPSS 0,17%Korrektur verfügbar

    pyload-ng: non-admin SETTINGS users can disable outbound TLS peer verification

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, the set_config_value() API method (@permission(Perms.SETTINGS)) in src/pyload/core/api/__init__.py gates security-sensitive options behind a hand-maintained allowlist ADMIN_ONLY_CORE_OPTIONS. The option ("general", "ssl_verify") is not on that allowlist. Any authenticated user with the non-admin SETTINGS permission can set general.ssl_verify = off, and every subsequent outbound pycurl request is made with SSL_VERIFYPEER=0 and SSL_VERIFYHOST=0 — TLS peer and hostname verification are fully disabled. An on-path attacker can then present forged certific

    • Auf 0.5.0b3.dev100 aktualisieren
    Veröffentlicht Aktualisiert
  18. CVE-2026-42313

    Hoch · CVSS 8.3EPSS 0,4%Korrektur verfügbar

    pyload-ng: non-admin SETTINGS users can redirect all outbound traffic through an attacker-controlled proxy

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, the set_config_value() API method (@permission(Perms.SETTINGS)) in src/pyload/core/api/__init__.py gates security-sensitive options behind a hand-maintained allowlist ADMIN_ONLY_CORE_OPTIONS. The allowlist contains ("proxy", "username") and ("proxy", "password") — which protect the proxy credentials — but it does not include ("proxy", "enabled"), ("proxy", "host"), ("proxy", "port"), or ("proxy", "type"). Any authenticated user with the non-admin SETTINGS permission can enable proxying and point pyload at any host they control. From that point, every

    • Auf 0.5.0b3.dev100 aktualisieren
    Veröffentlicht Aktualisiert
  19. CVE-2026-40071

    Mittel · CVSS 5.4EPSS 0,22%Keine Korrektur veröffentlicht

    pyLoad WebUI JSON permission mismatch lets ADD/DELETE users invoke MODIFY-only actions

    pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev97, the /json/package_order, /json/link_order, and /json/abort_link WebUI JSON endpoints enforce weaker permissions than the core API methods they invoke. This allows authenticated low-privileged users to execute MODIFY operations that should be denied by pyLoad's own permission model. This vulnerability is fixed in 0.5.0b3.dev97.

    Veröffentlicht Aktualisiert
  20. CVE-2026-35464

    Hoch · CVSS 7.5EPSS 0,53%Keine Korrektur veröffentlicht

    pyLoad has an incomplete fix for CVE-2026-33509: unprotected storage_folder enables arbitrary file write to Flask session store and code execution

    pyLoad is a free and open-source download manager written in Python. The fix for CVE-2026-33509 added an ADMIN_ONLY_OPTIONS set to block non-admin users from modifying security-critical config options. The storage_folder option is not in this set and passes the existing path restriction because the Flask session directory is outside both PKGDIR and userdir. A user with SETTINGS and ADD permissions can redirect downloads to the Flask filesystem session store, plant a malicious pickle payload as a predictable session file, and trigger arbitrary code execution when any HTTP request arrives with the corresponding session cookie. This vulnerabilit

    Veröffentlicht Aktualisiert

Prüfen Sie Ihren Server

Gleichen Sie Ihren installierten Stack und seine Versionen mit den aktuellen Sicherheitsmeldungen ab.

Prüfen Sie Ihren Server →