p PatchFirst

CVE-2026-9769

CVE-2026-9769 · justhtml before 1.10.0 Denial of Service via deeply nested HTML

This page contains facts from public vulnerability sources. Check the original advisory before updating.

justhtml through 1.9.1 (fixed in 1.10.0) is vulnerable to uncontrolled recursion leading to denial of service. During JustHTML() construction, TreeBuilder.finish() unconditionally calls _populate_selectedcontent(), which recursively traverses the DOM tree via _find_elements()/_find_element() without a depth bound. An attacker who can supply HTML for parsing can provide deeply nested elements (e.g., ~1000 nested <div> tags, roughly 11 KB) to exceed CPython's default recursion limit and trigger an unhandled RecursionError, which may abort parsing, fail requests, or terminate a worker/process depending on the host application's exception handling.

CVSS 8.7 · High · EPSS 0.3% · Fix available

Published
Updated

Stack: python

Affected products and versions

  • justhtml

    Versions
    • ≥ 0, < 1.10.0: Affected (semver)
    • 1.10.0: Not affected (semver)

    Update to 1.10.0

  • justhtml PyPI

    Versions
    • 0.1.0
    • 0.10.0
    • 0.11.0
    • 0.12.0
    • 0.13.0
    • 0.13.1
    • 0.14.0
    • 0.15.0
    • 0.16.0
    • 0.17.0
    • 0.18.0
    • 0.19.0
    • 0.2.0
    • 0.20.0
    • 0.21.0
    • 0.22.0
    • 0.23.0
    • 0.24.0
    • 0.25.0
    • 0.26.0
    • 0.27.0
    • 0.28.0
    • 0.29.0
    • 0.3.0
    • 0.30.0
    • 0.31.0
    • 0.32.0
    • 0.33.0
    • 0.34.0
    • 0.35.0
    • 0.36.0
    • 0.37.0
    • 0.38.0
    • 0.39.0
    • 0.4.0
    • 0.40.0
    • 0.5.0
    • 0.5.1
    • 0.5.2
    • 0.6.0
    • 0.7.0
    • 0.8.0
    • 0.9.0
    • 1.0.0
    • 1.1.0
    • 1.2.0
    • 1.3.0
    • 1.4.0
    • 1.5.0
    • 1.6.0
    • 1.7.0
    • 1.8.0
    • 1.9.0
    • 1.9.1
    Affected ranges
    • ECOSYSTEM: < 1.10.0

    Update to 1.10.0

Original sources

Check your server →