medium6.1
CVE-2026-59923
Mistune: XSS via percent-encoded javascript URI bypass in safe_url()
Impact
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
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | mistune | < 3.3.0 | 3.3.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Mistune Project | Mistune | before 3.3.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-8c25-4j27-2rv3
- https://github.com/lepture/mistune/security/advisories/GHSA-8c25-4j27-2rv3
- https://nvd.nist.gov/vuln/detail/CVE-2026-59923
- https://github.com/lepture/mistune/commit/c7101fcbb6e8790e8e39157c5ca2238fc6dd6cbc
- https://github.com/lepture/mistune/releases/tag/v3.3.0
- https://github.com/pypa/advisory-database/tree/main/vulns/mistune/PYSEC-2026-2211.yaml