Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-8w3f-4r8f-pf53

Опубликовано: 15 июл. 2025
Источник: github
Github: Прошло ревью
CVSS3: 9.8

Описание

pyLoad vulnerable to XSS through insecure CAPTCHA

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

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:
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:
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:

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:
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

Пакеты

Наименование

pyload-ng

pip
Затронутые версииВерсия исправления

< 0.20

0.20

EPSS

Процентиль: 62%
0.00424
Низкий

9.8 Critical

CVSS3

Дефекты

CWE-79
CWE-94

Связанные уязвимости

CVSS3: 9.8
nvd
7 месяцев назад

pyload is an open-source Download Manager written in pure Python. 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 remote code execution. Commit 909e5c97885237530d1264cfceb5555870eb9546, the patch for the issue, is included in version 0.5.0b3.dev89.

CVSS3: 9.8
debian
7 месяцев назад

pyload is an open-source Download Manager written in pure Python. An u ...

EPSS

Процентиль: 62%
0.00424
Низкий

9.8 Critical

CVSS3

Дефекты

CWE-79
CWE-94