CVE-2026-8445: justhtml before 1.12.0 Sanitizer Bypass via Markdown
justhtml versions <= 1.11.0 (fixed in 1.12.0) do not sufficiently escape HTML-significant characters (angle brackets) in text nodes when converting a parsed document to Markdown via to_markdown(). While a small set of Markdown metacharacters are escaped, characters such as < and > are preserved, so untrusted input that is safe in to_html() — including entity-decoded text (e.g. <script>) or text from RCDATA/RAWTEXT-parsed elements like <title>, <textarea>, <noscript>, and <plaintext> — can be emitted as raw HTML in the Markdown output, enabling a sanitizer bypass and potential cross-site scripting when that output is rendered.
Security readout for executives and security teams
Plain-English summary
Applications using vulnerable justhtml versions may turn previously safe text into executable browser content during Markdown conversion. If attacker-controlled content passes through this workflow and is later rendered, it could enable cross-site scripting, threatening user accounts, sensitive data, and application integrity.
Executive priority
Treat as urgent where public or user-supplied content is converted to Markdown and rendered. Confirm exposure immediately and expedite upgrading affected deployments. Lower priority only after demonstrating that vulnerable versions or the required data flow are absent.
Technical view
In justhtml through 1.11.0, to_markdown() preserves HTML-significant angle brackets in text nodes. Entity-decoded text and content parsed from elements such as title, textarea, noscript, or plaintext can consequently become raw HTML when Markdown is rendered. Version 1.12.0 fixes the flaw.
Likely exposure
Exposure requires justhtml through 1.11.0, attacker-controlled input reaching to_markdown(), and subsequent Markdown rendering that interprets raw HTML. Deployments not using this conversion path are less likely to be exploitable, but dependency and data-flow review is necessary.
Exploitation context
The supplied sources describe a sanitizer bypass with potential cross-site scripting. The CVE is not listed as KEV in the bundle, and no cited evidence establishes active exploitation. Practical impact depends on the application's conversion and Markdown-rendering configuration.
Researcher notes
Review the complete parse-to-Markdown-to-render pipeline, not to_html() alone. Relevant sources include entity-decoded text and RCDATA or RAWTEXT-style parsing contexts. The supplied evidence identifies the root cause and fixed release but does not establish observed exploitation or quantify affected deployments.
Mitigation direction
Upgrade justhtml to version 1.12.0 or later.
Prioritize internet-facing workflows that convert untrusted content to Markdown.
Until upgraded, prevent untrusted input from reaching to_markdown().
Disable raw HTML interpretation in downstream Markdown rendering where operationally feasible.
Sanitize final rendered HTML as defense in depth.
Validation and detection
Inventory direct and transitive justhtml versions in deployed applications.
Confirm production resolves justhtml 1.12.0 or later.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
1ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation
Improper Neutralization of Input During Web Page Generation represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.