pyLoad
CVE-2026-41133
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEstablish low-privilege authenticated session
-
DeliveryWait for admin to grant then revoke elevated role
-
ExploitContinue operating with cached elevated privileges
-
ExecutionExecute administrative actions (create accounts, modify settings)
-
ImpactMaintain persistence until forced logout
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Requires existing authenticated access to a pyLoad instance with low-privilege user credentials (PR:L). Exploitation occurs specifically when an administrator modifies the attacker's user role or permissions while the attacker maintains an active authenticated session. The vulnerability manifests in multi-user pyLoad deployments where role-based access control is actively managed - environments with a single user or where role changes never occur are not practically exploitable. Session timeout configuration determines the duration of exploitability: longer session timeouts (common default) extend the window; shorter timeouts reduce but do not eliminate risk. No special network position, user interaction, or non-default configuration required beyond the baseline authenticated state. |
| Impact | Real-world risk is moderate despite the High CVSS 8.8 score. The CVSS vector (AV:N/AC:L/PR:L/UI:N) indicates network-accessible exploitation with low complexity, but critically requires existing low-privilege authentication - not a remote unauthenticated threat. EPSS data is not provided but would likely be low given the authentication prerequisite. No CISA KEV listing indicates this is not being actively exploited in the wild at scale. Risk materializes primarily in scenarios where: (1) pyLoad instances have multiple users with varying privilege levels, (2) administrators frequently adjust user roles (e.g., removing admin rights from compromised accounts or departing users), and (3) sessions have long timeout periods. Single-user deployments or installations without role changes face negligible risk. The publicly available patch commit provides attackers with exploitation blueprints, but the authentication barrier limits mass exploitation. Priority should be HIGH for multi-user production deployments, MEDIUM for shared environments with infrequent role changes, LOW for single-user personal instances. |
| Exploit ScenarioDerived | A malicious user Bob has standard user privileges in a shared pyLoad instance. Bob logs in and obtains a valid session. An administrator then promotes Bob to admin temporarily to perform maintenance, then immediately demotes Bob back to standard user. Because pyLoad caches Bob's elevated role in his active session, Bob retains full administrative capabilities until he logs out or his session expires. Bob exploits this window to create new admin accounts, modify download queues of other users, or exfiltrate sensitive configuration data including stored credentials for remote file servers. The attack requires no special tools beyond Bob's existing authenticated session and standard pyLoad web interface access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 22, 2026
Session fixation in pyLoad 0.5.0b3.dev97 and earlier allows authenticated users to retain revoked administrative privileges until logout. After an administrator demotes a user's role or revokes permissions, the affected user's active session continues to operate with the old cached privileges, enabling unauthorized administrative actions. Publicly available exploit code exists via GitHub commit e95804fb0d06cbb07d2ba380fc494d9ff89b68c1. With CVSS 8.8 (High) but requiring low-privilege authentication (PR:L), this represents an elevation-of-privilege vector in multi-user pyLoad deployments where role changes are expected to take immediate effect.
RemediationAI
Upgrade to pyLoad commit e95804fb0d06cbb07d2ba380fc494d9ff89b68c1 or later, which implements real-time privilege checking against current database state rather than cached session values. Users can apply the patch directly from https://github.com/pyload/pyload/commit/e95804fb0d06cbb07d2ba380fc494d9ff89b68c1. If immediate patching is not feasible, implement compensating controls: (1) Force logout of all active sessions after making any role/permission changes via administrative tools or by restarting the pyLoad service (causes service interruption for all users), (2) Reduce session timeout values to minimize the window of stale privilege retention (trade-off: increases user login frequency and inconvenience), (3) Monitor audit logs for privilege escalation attempts by cross-referencing user actions against current database roles (requires manual review overhead). Note that these workarounds do not eliminate the vulnerability and may impact usability. Official vendor advisory available at https://github.com/pyload/pyload/security/advisories/GHSA-66hx-chf7-3332.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This vulnerability stems from CWE-613 (Insufficient Session Expiration), a session management flaw where pyLoad's authentication subsystem caches user role and permission data in the session object at login time. When administrators modify user privileges through the database or admin interface, the application fails to invalidate or refresh existing sessions. The Python-based session handler does not implement real-time authorization checks against the current database state, instead relying on stale cached values until the session expires naturally or the user manually logs out. This creates a window where revoked privileges remain exploitable, violating the principle of immediate privilege revocation common in multi-tenant or role-based access control systems.
Know when Pyload gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
DescriptionGitHub Advisory
pyLoad is a free and open-source download manager written in Python. Versions up to and including 0.5.0b3.dev97 cache role and permission in the session at login and continues to authorize requests using these cached values, even after an admin changes the user's role/permissions in the database. As a result, an already logged-in user can keep old (revoked) privileges until logout/session expiry, enabling continued privileged actions. This is a core authorization/session-consistency issue and is not resolved by toggling an optional security feature. Commit e95804fb0d06cbb07d2ba380fc494d9ff89b68c1 contains a fix for the issue.
Executive ViewAI
pyLoad versions 0.5.0b3.dev97 and earlier contain a session fixation vulnerability allowing authenticated users to retain administrative privileges after demotion, potentially enabling unauthorized administrative actions until forced logout. Organizations running pyLoad in multi-user environments face immediate risk of privilege escalation when managing user roles, as permission revocations do not take effect for active sessions. This vulnerability directly undermines access control and administrative oversight.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Enforce mandatory session logout for all users immediately following any role or permission change; (2) Implement maximum session duration of 4 hours with re-authentication requirement; (3) Restrict pyLoad administrative access to isolated network segments with separate administrative accounts; (4) Log all privilege modification events and cross-reference with concurrent session activity for audit purposes; (5) Disable multi-user features if single-user operation is feasible pending patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)GitHub Advisory
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31. Rated critical severity (CVSS 9.8), this vulne
Excessive Attack Surface in GitHub repository pyload/pyload prior to 0.5.0b3.dev41. Rated critical severity (CVSS 9.8),
pyLoad 0.5.0 is vulnerable to Unrestricted File Upload. Rated high severity (CVSS 8.8), this vulnerability is remotely e
Improper Input Validation in GitHub repository pyload/pyload prior to 0.5.0b3.dev40. Rated high severity (CVSS 7.5), thi
Improper Certificate Validation in GitHub repository pyload/pyload prior to 0.5.0b3.dev44. Rated high severity (CVSS 7.4
pyload is an open-source Download Manager written in pure Python. Rated high severity (CVSS 7.2), this vulnerability is
Insufficient Session Expiration in GitHub repository pyload/pyload prior to 0.5.0b3.dev36. Rated medium severity (CVSS 6
An open redirection vulnerability exists in pyload/pyload version 0.5.0. Rated medium severity (CVSS 6.1), this vulnerab
pyLoad is an open-source Download Manager written in pure Python. Rated medium severity (CVSS 6.1), this vulnerability i
Cross-site Scripting (XSS) - Stored in GitHub repository pyload/pyload prior to 0.5.0b3.dev42. Rated medium severity (CV
GHSA-66hx-chf7-3332
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB