Description
justhtml before 1.16.0 contains multiple HTML sanitization bypass issues that can allow active/dangerous content (e.g., script or style) to survive sanitization, potentially leading to cross-site scripting. The issues primarily affect advanced usage rather than the default JustHTML(..., sanitize=True) path for ordinary parsed HTML: mutating or reusing sanitization policy objects (including exported defaults) could weaken later sanitization; programmatic DOM input to sanitize()/sanitize_dom() could miss mixed-case tag names (e.g., ScRiPt, StYlE); crafted programmatic doctype names could serialize into active markup; and custom policies preserving SVG or MathML could allow animation elements, presentation attributes with external url(...) references, or DOM trees mislabeled as namespace="html" to bypass foreign-content checks. Fixed in 1.16.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| EmilStenstrom | justhtml | < 1.16.0 | 1.16.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | justhtml | < 1.16.0 | 1.16.0 | GHSA-4p64-v8f5-r2gx |
References
- GitHub Security Advisory (GHSA-4p64-v8f5-r2gx) vendor-advisory
- VulnCheck Advisory: justhtml before 1.16.0 Multiple Security Issues via Sanitization third-party-advisory