Skip to main content

pyLoad CVE-2026-41133

HIGH
Insufficient Session Expiration (CWE-613)
2026-04-22 security-advisories@github.com GHSA-66hx-chf7-3332
8.8
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish low-privilege authenticated session
  2. Delivery
    Wait for admin to grant then revoke elevated role
  3. Exploit
    Continue operating with cached elevated privileges
  4. Execution
    Execute administrative actions (create accounts, modify settings)
  5. Impact
    Maintain 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

pypi pyload-ng no fix

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

GitHub Advisory PRIMARY 8.8 HIGH
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.0%
Top 91% exploitable
Threat Intel
1
1 source
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:pyload:pyload:*:*:*:*:*:*:*:*

More in Pyload

View all
CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

CVE-2023-0297 CRITICAL POC
9.8 Jan 14

Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31. Rated critical severity (CVSS 9.8), this vulne

CVE-2023-0435 CRITICAL POC
9.8 Jan 22

Excessive Attack Surface in GitHub repository pyload/pyload prior to 0.5.0b3.dev41. Rated critical severity (CVSS 9.8),

CVE-2023-47890 HIGH POC
8.8 Jan 08

pyLoad 0.5.0 is vulnerable to Unrestricted File Upload. Rated high severity (CVSS 8.8), this vulnerability is remotely e

CVE-2023-0434 HIGH POC
7.5 Jan 22

Improper Input Validation in GitHub repository pyload/pyload prior to 0.5.0b3.dev40. Rated high severity (CVSS 7.5), thi

CVE-2023-0509 HIGH POC
7.4 Jan 26

Improper Certificate Validation in GitHub repository pyload/pyload prior to 0.5.0b3.dev44. Rated high severity (CVSS 7.4

CVE-2024-32880 HIGH POC
7.2 Apr 26

pyload is an open-source Download Manager written in pure Python. Rated high severity (CVSS 7.2), this vulnerability is

CVE-2023-0227 MEDIUM POC
6.5 Jan 12

Insufficient Session Expiration in GitHub repository pyload/pyload prior to 0.5.0b3.dev36. Rated medium severity (CVSS 6

CVE-2024-1240 MEDIUM POC
6.1 Nov 15

An open redirection vulnerability exists in pyload/pyload version 0.5.0. Rated medium severity (CVSS 6.1), this vulnerab

CVE-2024-24808 MEDIUM POC
6.1 Feb 06

pyLoad is an open-source Download Manager written in pure Python. Rated medium severity (CVSS 6.1), this vulnerability i

CVE-2023-0488 MEDIUM POC
5.4 Jan 26

Cross-site Scripting (XSS) - Stored in GitHub repository pyload/pyload prior to 0.5.0b3.dev42. Rated medium severity (CV

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy