Skip to main content
← All vulnerabilities
CVE-2026-40594GHSA-MP82-FMJ6-F22VPYSEC-2026-125

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.5.0b3.dev98, 0.5.0b3.dev69
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • pyload pyload

    fixed in 0.5.0b3.dev98

  • pyload-ngPyPI

    fixed in 0.5.0b3.dev98

  • pyload-ngPyPI

    fixed in 0.5.0b3.dev69

References 1

GitHub · pyload/pyload