Mistune: Path traversal via include directive
Summary
Mistune is a Python library that converts Markdown to HTML. In versions before 3.3.0, the reStructuredText include directive accepts relative and absolute file paths without restriction, so an attacker who can submit Markdown to an application can read any file the rendering process can open and see its content in the rendered output. The attack only works if the application has the Include plugin enabled and renders attacker-controlled Markdown; the advisory describes this as a documented configuration, not a default.
Affected
- mistune before 3.3.0 (pip package)
- VulnCheck lists the range as all versions below 3.3.0; older branches have not been verified
- Only applications with the Include directive plugin enabled are affected
Fixed in
- Upgrade to mistune 3.3.0 or later
Workaround
- No vendor-stated workaround.
- Disable the Include directive plugin (removes the exposure).
- Do not render untrusted Markdown with the Include plugin enabled.
- Restrict the file-system access of the rendering process.
Exploitation
- No exploitation in the wild has been found.
- VulDB states that no exploit is available.
- The vendor advisory describes the flaw, including a reproduction setup.
- CISA KEV status was not checked.
Our recommendation
- Inventory all Mistune installations, including lockfiles and deployed manifests.
- Upgrade to mistune 3.3.0 or later.
- Check whether the Include directive plugin is enabled and whether user-supplied Markdown is rendered; disable the plugin if it is not required.
- Review the rendering process's file access and secrets exposure.
- Monitor logs for unusual include directives in submitted content.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-9jjx-3hq3-hx4j github.com
- VulnCheck Advisory: Mistune before 3.3.0 Path Traversal via include Directive www.vulncheck.com
- Ubuntu Security: CVE-2026-115353 ubuntu.com
- VulDB entry 425400 vuldb.com
- GitLab Advisory: CVE-2026-115355 (related Include directive issue) advisories.gitlab.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 04:04.
Original description (NVD)
Mistune before 3.3.0 contains a path traversal vulnerability in the RST include directive that allows attackers to read arbitrary files by supplying relative or absolute paths. Attackers can submit markdown containing include directives referencing ../ sequences or absolute paths to embed sensitive files like credentials or environment data in rendered HTML.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
