CVE-2026-59923
published 2026-07-08CVE-2026-59923: 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…
PriorityP430medium6.1CVSS 3.1
AVNACLPRNUIRSCCLILAN
EPSS
0.35%
28.3th percentile
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
27 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| lepture | mistune | < 3.3.0 | 3.3.0 |
| mistune_project | mistune | < 3.3.0 | 3.3.0 |
| mistune_project | mistune | >= 0 < 3.3.0 | 3.3.0 |
| mta | mta-solution-server-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-datascience-cpu-py312-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-minimal-cpu-py312-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-pytorch-cuda-py312-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-pytorch-rocm-py312-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-tensorflow-cuda-py312-rhel9 | — | — |
| rhoai | odh-pipeline-runtime-tensorflow-rocm-py312-rhel9 | — | — |
| rhoai | odh-th06-cpu-torch210-py312-rhel9 | — | — |
| rhoai | odh-th06-cpu-torch291-py312-rhel9 | — | — |
| rhoai | odh-th06-cuda130-torch210-py312-rhel9 | — | — |
| rhoai | odh-th06-cuda130-torch291-py312-rhel9 | — | — |
| rhoai | odh-th06-rocm64-torch291-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-datascience-cpu-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-minimal-cpu-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-minimal-cuda-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-minimal-rocm-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-pytorch-cuda-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-pytorch-rocm-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-tensorflow-cuda-py312-rhel9 | — | — |
| rhoai | odh-workbench-jupyter-tensorflow-rocm-py312-rhel9 | — | — |
CVSS provenance
nvdv3.16.1MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
vendor_redhat6.1MEDIUM
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
Mistune: XSS via percent-encoded javascript URI bypass in safe_url()
ghsa·2026-07-20
CVE-2026-59923 [MEDIUM] CWE-79 Mistune: XSS via percent-encoded javascript URI bypass in safe_url()
Mistune: XSS via percent-encoded javascript URI bypass in safe_url()
### Summary
An XSS vulnerability in Mistune allows bypassing of safe_url() protections via percent-encoded javascript URIs.
### Details
The vulnerability exists in HTMLRenderer.safe_url() in Mistune.
The function is intended to block harmful URL schemes such as "javascript:" by checking the prefix of the provided URL:
_url = url.lower()
if _url.startswith(self.HARMFUL_PROTOCOLS):
return "#harmful-link"
However, the input URL is not URL-decoded before this check. Because of this, an attacker can use percent-encoding to bypass the filter. For example:
javascript%3Aalert(1)
Since "%3A" is not decoded to ":", the check does not detect the "javascript:" scheme.
When rendered in a browser, the URL is decoded, resulting
Red Hat
mistune: Mistune: Arbitrary code execution through crafted Markdown links
vendor_redhat·2026-07-08·CVSS 6.1
CVE-2026-59923 [MEDIUM] CWE-79 mistune: Mistune: Arbitrary code execution through crafted Markdown links
mistune: Mistune: Arbitrary code execution through crafted Markdown links
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.
A flaw was found in Mistune, a Python Markdown parser. This vulnerability allows an attacker to bypass URL protections by using specially crafted Markdown links or images containing percent-encoded javascript URIs. This can lead to the execution of arbitrary scripts in the rendered HTML, potentially compromising the user's system.
Statement: Red Hat products ship python-mistune in both the older 0.8.x series and ne
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2026-59923 python-mistune: Mistune: Arbitrary code execution through crafted Markdown links [fedora-all]
bugzilla·2026-07-09·CVSS 6.1
CVE-2026-59923 [MEDIUM] CVE-2026-59923 python-mistune: Mistune: Arbitrary code execution through crafted Markdown links [fedora-all]
CVE-2026-59923 python-mistune: Mistune: Arbitrary code execution through crafted Markdown links [fedora-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
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.
Discussion:
This issue is fixed in version 3.3.0.
Bugzilla
CVE-2026-59923 python-mistune08: Mistune: Arbitrary code execution through crafted Markdown links [epel-all]
bugzilla·2026-07-09·CVSS 6.1
CVE-2026-59923 [MEDIUM] CVE-2026-59923 python-mistune08: Mistune: Arbitrary code execution through crafted Markdown links [epel-all]
CVE-2026-59923 python-mistune08: Mistune: Arbitrary code execution through crafted Markdown links [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
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.
Bugzilla
CVE-2026-59923 python-mistune: Mistune: Arbitrary code execution through crafted Markdown links [epel-all]
bugzilla·2026-07-09·CVSS 6.1
CVE-2026-59923 [MEDIUM] CVE-2026-59923 python-mistune: Mistune: Arbitrary code execution through crafted Markdown links [epel-all]
CVE-2026-59923 python-mistune: Mistune: Arbitrary code execution through crafted Markdown links [epel-all]
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.
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.
Bugzilla
CVE-2026-59923 mistune: Mistune: Arbitrary code execution through crafted Markdown links
bugzilla·2026-07-08·CVSS 6.1
CVE-2026-59923 [MEDIUM] CVE-2026-59923 mistune: Mistune: Arbitrary code execution through crafted Markdown links
CVE-2026-59923 mistune: Mistune: Arbitrary code execution through crafted Markdown links
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.
2026-07-08
Published