CVE-2026-5389 justhtml before 1.13.0 XSS via code fence breakout

Medium 5.1 Published Updated

Attackers can inject raw HTML into sanitized content via code fence breakout, leading to XSS when rendered by Markdown parsers.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
None listed

What is CVE-2026-5389?

CVE-2026-5389 is a medium-severity cross-site scripting vulnerability in EmilStenstrom justhtml, published on 23 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

justhtml versions before 1.13.0 contain a cross-site scripting vulnerability in the to_markdown() function when serializing attacker-controlled pre content. Attackers can place backticks inside sanitized pre elements to break out of fixed-length code fences, allowing raw HTML to execute when the generated Markdown is rendered by CommonMark or GFM-style renderers.

Weakness: CWE-80

Which versions are affected by CVE-2026-5389?

2 open source packages ship an affected version, including justhtml.

PackageAffectedFixed in
justhtml PyPIAll versions1.13.0
justhtml PyPIAll versions1.13.0

How do I fix CVE-2026-5389?

Upgrade justhtml to 1.13.0 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-5389 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-5389 exists.

Sources

Also known as GHSA-5vp3-3cg6-2rq3, GHSA-q3jf-9wv7-p29w.

Is CVE-2026-5389 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free