CVE-2026-4671Low▾ Sunlitjusthtml introduces denial-of-service hardening
▾ Sunlit zone — Low / medium · no exploitation signal
impact 13.8 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Aug 24.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
0.4%
justhtml 1.18.0 fixes multiple low-severity denial-of-service hardening issues in CSS selector handling and linkification.
These issues are availability concerns. They do not allow script execution, data disclosure, or sanitizer bypass by themselves.
justhtml < 1.18.0justhtml 1.18.0 released on May 4, 2026Applications that evaluate attacker-controlled selector strings, or that run selector-based transform pipelines over attacker-controlled documents, could consume disproportionate CPU or memory.
The affected selector patterns included oversized selectors, large selector lists, oversized compound selectors, long combinator chains, deeply nested functional pseudo-classes such as :not(...), repeated attribute/class token matching over large values, repeated sibling or ancestor scans, repeated positional pseudo-class work, and :contains(...) over large descendant text.
Programmatically constructed malformed DOM graphs could also trigger non-terminating or duplicate traversal in some selector paths, including cyclic/shared child graphs, cyclic parent chains, and cyclic text traversal for :contains(...).
Attacker-controlled text containing punctuation-heavy input or URL candidates ending in long runs of unmatched closing brackets could cause repeated rescanning and consume disproportionate CPU when linkification was enabled.
Ordinary sanitization of parsed HTML with the default JustHTML(..., sanitize=True) configuration is not expected to expose untrusted users to selector injection, because selectors are normally supplied by application code.
The main risk areas are:
query(...), matches(...), or selector-based transformsLinkify(...) over attacker-controlled text1.18.0 adds generalized selector resource controls and removes several repeated-work hot paths:
:not(...), :empty, and :nth-child(...) workquery(...), tag-only query fast paths, transform selector compilation, and sanitization transform matchingUpgrade to justhtml 1.18.0.
If users cannot upgrade immediately:
query(...), matches(...), or selector-based transformsLinkify(...) on very large attacker-controlled textDiscovered during an internal security review of justhtml.
justhtml < 1.18.0Upgrade to a patched release:
justhtml 1.18.0Connected by shared product, vendor, weakness, or advisory.
CVE-2026-6827Mediumjusthtml has sanitization bypass in custom policies and programmatic DOM
CVE-2026-9769HighUncontrolled recursion DoS in JustHTML() via deeply nested HTML
CVE-2026-5751Lowjusthtml: Mutation XSS with custom foreign-namespace sanitization policies
CVE-2026-8630MediumJustHTML Affected by Mutation XSS via Literal Text Serialization in Raw Text Elements (style/script)
CVE-2026-77088Medium· 6.1justhtml: to_markdown() code-span blank-line breakout enables XSS
CVE-2026-5388Mediumjusthtml includes multiple security fixes