Vulnerability · Published Jul 8, 2026 · Assigned by GitHub_M

CVE-2026-59923Mistune: XSS via percent-encoded javascript URI bypass in safe_url()

Medium 6.1

In plain English

A medium-severity cross-site scripting in mistune from lepture. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 29% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)6.1Medium
Exploit odds (30 days)0.3%top 71.4% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.3.0, HTMLRenderer.safe_url() does not block percent-encoded javascript URIs, allowing attacker-supplied Markdown links or images to bypass URL protections and execute script in rendered HTML. This issue is fixed in version 3.3.0.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12mistuneno fix listedDEBIAN-CVE-2026-59923
Debian:13mistuneno fix listedDEBIAN-CVE-2026-59923
Debian:14mistuneno fix listedDEBIAN-CVE-2026-59923
PyPImistune3.3.0GHSA-8c25-4j27-2rv3
PyPImistune3.3.0PYSEC-2026-2211
Ubuntu:22.04:LTSmistuneno fix listedUBUNTU-CVE-2026-59923
Ubuntu:24.04:LTSmistuneno fix listedUBUNTU-CVE-2026-59923
Ubuntu:25.10mistuneno fix listedUBUNTU-CVE-2026-59923
Ubuntu:26.04:LTSmistuneno fix listedUBUNTU-CVE-2026-59923
Ubuntu:26.10mistuneno fix listedUBUNTU-CVE-2026-59923

Affected products (as reported)

VendorProductVersions
lepture mistune < 3.3.0

Weakness: CWE-79 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

References