Skip to main content
← All vulnerabilities
CVE-2026-9769PYSEC-2026-3854GHSA-V7CF-C9RM-WM3J

justhtml before 1.10.0 Denial of Service via deeply nested HTML

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.10.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • EmilStenstrom justhtml

    fixed in 1.10.0

  • justhtmlPyPI

    fixed in 1.10.0

References 2

GitHub · EmilStenstrom/justhtml

vulncheck.com