CVE-2026-40594

pyLoad: Session Cookie Security Downgrade via Untrusted X-Forwarded-Proto Header Spoofing (Global State Race Condition)

MEDIUM
4.8
CVSS Score
Published: April 21, 2026 at 05:14 PM UTC
Updated: June 17, 2026 at 10:45 AM UTC
2 products affected across 2 vendorsPyload NgPyload

Using pyload by pyload?

Get instant alerts when new vulnerabilities affect pyload - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM4.8
Exploit prediction
EPSS 0.2%
SSVC
PoC

Description

pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev98, the set_session_cookie_secure before_request handler in src/pyload/webui/app/__init__.py reads the X-Forwarded-Proto header from any HTTP request without validating that the request originates from a trusted proxy, then mutates the global Flask configuration SESSION_COOKIE_SECURE on every request. Because pyLoad uses the multi-threaded Cheroot WSGI server (request_queue_size=512), this creates a race condition where an attacker's request can influence the Secure flag on other users' session cookies — either downgrading cookie security behind a TLS proxy or causing a session denial-of-service on plain HTTP deployments. This vulnerability is fixed in 0.5.0b3.dev98.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 0.5.0b3.dev69
v < 0.5.0b3.dev98
Affected range stops below 0.5.0b3.dev98, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (1)

x_refsource_CONFIRMExploitMitigationVendor Advisory
Source: cverecord
https://github.com/pyload/pyload/security/advisories/GHSA-mp82-fmj6-f22v

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

4.8MEDIUMGitHub_M
Attack Vector
NETWORK
Complexity
HIGH
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
LOW
Integrity
NONE
Availability
LOW
Vector?

Quick Info

StatusANALYZED
CWE
CWE-346

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card