GHSA-h7ww-273w-6cm8

Mistune: Path Traversal and XSS in Include directive

At a glance

Published
Updated
CVE
CVE-2026-115355

Description

The Include directive in `src/mistune/directives/include.py` does not validate that the resolved file path stays within the source directory, allowing path traversal via `../` sequences to read arbitrary files. Additionally, error messages and included file contents are rendered without HTML escaping, leading to XSS even when `escape=True`. Affected functions: - Path resolution (lines 27-31) - `block_error()` in html.py (line 140) - `render_html_include()` (line 72) The Include plugin must be explicitly enabled via the plugins parameter.

Affected packages

PackageVersions
PyPI · mistuneintroduced 0, fixed 3.3.0

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database