Kritisch

pyLoad vulnerable to XSS through insecure CAPTCHA

  • Veröffentlicht: 15.07.2025
  • Aktualisiert: 11.10.2026 15:17

Summary

An unsafe JavaScript evaluation vulnerability in pyLoad’s CAPTCHA processing code allows unauthenticated remote attackers to execute arbitrary code in the client browser and potentially the backend server. Exploitation requires no user interaction or authentication and can result in session hijacking, credential theft, and full system rce.

Details

The vulnerable code resides in

js
function onCaptchaResult(result) {
    eval(result); // Direct execution of attacker-controlled input
}
  • The onCaptchaResult() function directly passes CAPTCHA results (sent from the user) into eval()
  • No sanitization or validation is performed on this input
  • A malicious CAPTCHA result can include JavaScript such as fetch() or child_process.exec() in environments using NodeJS
  • Attackers can fully hijack sessions and pivot to remote code execution on the server if the environment allows it

Reproduction Methods

  1. Official Source Installation:
bash
git clone https://github.com/pyload/pyload
cd pyload
git checkout 0.4.20
python -m pip install -e .
pyload --userdir=/tmp/pyload
  1. Virtual Environment:
bash
python -m venv pyload-env
source pyload-env/bin/activate
pip install pyload==0.4.20
pyload

CAPTCHA Endpoint Verification

Technical Clarification:

  1. The vulnerable endpoint is actually:

    /interactive/captcha
  2. Complete PoC Request:

http
POST /interactive/captcha HTTP/1.1
Host: localhost:8000
Content-Type: application/x-www-form-urlencoded

cid=123&response=1%3Balert(document.cookie)
  1. Curl Command Correction:
bash
curl -X POST "http://localhost:8000/interactive/captcha" \
  -d "cid=123&response=1%3Balert(document.cookie)"
  1. Vulnerable Code Location:
    The eval() vulnerability is confirmed in:
    src/pyload/webui/app/static/js/captcha-interactive.user.js

Resources

  1. https://github.com/pyload/pyload/commit/909e5c97885237530d1264cfceb5555870eb9546
  2. OWASP: Avoid eval()
  3. #4586

Betroffene Software

Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.

PlattformPaketAnfällige VersionenBehoben in
Python (PyPI) pyload-ng < 0.20 0.20

Verweise

CVSS-Wert 9.8/10
CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Schwäche (CWE)
CWE-79, CWE-94
Plattform
Python (PyPI)
Paket
pyload-ng
Veröffentlicht
15.07.2025
Aktualisiert
11.10.2026 15:17

Quellen und Lizenzen

OSV / GitHub Advisory Database - PYSEC-2026-496 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-8w3f-4r8f-pf53 - CC BY 4.0

Schwachstellenhistorie: pyload-ng

Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.

Alle (58) im Archiv
Einträge insgesamt
58
Erste → letzte
01.2023 10.2026
Ohne Fix
24
In Angriffen ausgenutzt
0

Verteilung nach Schweregrad

  • Kritisch 9
  • Hoch 23
  • Mittel 25
  • Niedrig 1

Veröffentlichungen pro Jahr

  1. 2023: 9
  2. 2024: 8
  3. 2025: 8
  4. 2026: 33
Schweregrad:
  1. Hoch · 7.5 ghsa-889w-m37p-88m5 >= 0.5.0b3.dev98, <= 0.5.0b3.dev101 keine Korrektur
  2. Hoch · 8.1 ghsa-r44w-v6gf-x3p6 < 0.5.0b3.dev101 0.5.0b3.dev101
  3. Hoch · 8.1 CVE-2026-42315 < 0.5.0b3.dev100 0.5.0b3.dev100
  4. Hoch · 8.8 CVE-2026-41133 <= 0.5.0b3.dev97 keine Korrektur
  5. Hoch · 8.8 CVE-2026-35463 <= 0.5.0b3.dev96 keine Korrektur
  6. Hoch · 7.7 CVE-2026-35187 <= 0.5.0b3.dev96 keine Korrektur
  7. Hoch · 7.1 CVE-2026-29778 >= 0.5.0b3.dev13, < 0.5.0b3.dev97 0.5.0b3.dev97
  8. Hoch · 8.1 CVE-2025-61773 < 0.5.0b3.dev91 0.5.0b3.dev91
  9. Hoch CVE-2025-57751 < 0.5.0b3.dev92 0.5.0b3.dev92
  10. Hoch · 7.5 CVE-2025-54140 >= 0.5.0b3.dev89, < 0.5.0b3.dev90 0.5.0b3.dev90
  11. pyLoad vulnerable to XSS through insecure CAPTCHA dieser Eintrag
    Kritisch · 9.8 CVE-2025-53890 < 0.20 0.20
  12. Kritisch · 9.8 CVE-2024-39205 <= 0.5.0b3.dev85 keine Korrektur
  13. Kritisch · 9.1 CVE-2024-32880 <= 0.5.0 keine Korrektur
  14. Kritisch · 9.6 CVE-2024-22416 < 0.5.0b3.dev78 0.5.0b3.dev78
  15. Hoch · 7.5 CVE-2024-21644 < 0.5.0b3.dev77 0.5.0b3.dev77
  16. Hoch · 7.6 CVE-2023-47890 < 0.5.0b3.dev75 0.5.0b3.dev75
  17. Hoch · 7.4 CVE-2023-0509 < 0.5.0b3.dev44 0.5.0b3.dev44
  18. Kritisch · 9.8 CVE-2023-0435 < 0.5.0b3.dev41 0.5.0b3.dev41
  19. Kritisch · 9.8 CVE-2023-0297 < 0.5.0b3.dev31 0.5.0b3.dev31

Erkennen Sie Schwachstellen in Ihrer Anwendung

Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.

Anwendung verbinden
DockRay Newsletter

Anwendungssicherheit in Ihrem Postfach

Wichtige Schwachstellen, konkrete Empfehlungen und praktische Tipps für Ihre Anwendungen. Wählen Sie Ihre Technologien und verfolgen Sie, was für Ihr Projekt relevant ist.

  • Eine tägliche Zusammenfassung neuer Schwachstellen, auch kritischer.
  • Benachrichtigungen über wichtige Updates.
  • Praktische Tipps zur Sicherheit und Überwachung von Anwendungen.

Leer lassen, um Meldungen zu allen Technologien zu erhalten.

Kostenlos anmelden. In jeder E-Mail mit einem Klick abmelden.