---
id: CVE-2026-77088
title: >-
  justhtml versions 0.9.0 through 1.21.0 contain a cross-site scripting
  vulnerability in to_markdown() where inline code spans fail to account for
  blank lines as block boundaries
summary: >-
  justhtml versions 0.9.0 through 1.21.0 contain a cross-site scripting
  vulnerability in to_markdown() where inline code spans fail to account for
  blank lines as block boundaries. Attackers can inject blank lines into code or
  pre element t…
severity: medium
cvss: 6.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
vendor: justhtml
product: justhtml
affected:
  - 'justhtml >= 0.9.0, < 1.22.0'
patched:
  - justhtml 1.22.0
published: '2026-08-23'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T16:10:00.220'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-77088'
references:
  - url: >-
      https://github.com/EmilStenstrom/justhtml/security/advisories/GHSA-jf6w-2mvx-633j
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/justhtml-through-cross-site-scripting-via-code-span
    label: disclosure@vulncheck.com
  - url: 'https://github.com/EmilStenstrom/justhtml'
tags:
  - nvd
  - osv
  - pip
epss: 0.00263
epssPercentile: 0.18004
aliases:
  - GHSA-jf6w-2mvx-633j
ecosystem: pip
ingestedAt: '2026-08-24T19:25:44.191Z'
---

## Overview

justhtml versions 0.9.0 through 1.21.0 contain a cross-site scripting vulnerability in to_markdown() where inline code spans fail to account for blank lines as block boundaries. Attackers can inject blank lines into code or pre element text to break the inline span, causing sanitized HTML to be emitted unescaped and re-parsed as live Markdown by compliant renderers.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-77088)

Affected packages:

- `justhtml >= 0.9.0, < 1.22.0`

Patched in:

- `justhtml 1.22.0`

Source: https://osv.dev/vulnerability/GHSA-jf6w-2mvx-633j
