Description
PyMdown Extensions is a set of extensions for the Python-Markdown markdown project. From 10.0.1 until 10.21.3, pymdownx.snippets uses a string-prefix containment check in SnippetPreprocessor.get_snippet_path() in pymdownx/snippets.py when `restrict_base_path: True`, allowing markdown snippet directives to read files from sibling paths that share the same base_path prefix, such as docs and docs_internal. This is a regression of CVE-2023-32309. This issue is fixed in version 10.21.3.
Affected products
facelessuser: pymdown extensions
References4
- github.com/facelessuser/pymdown-extensions/security/advisories/… ExploitMitigationVendor Advisory
- github.com/facelessuser/pymdown-extensions/security/advisories/… ExploitMitigationVendor Advisory
- github.com/facelessuser/pymdown-extensions/commit/63b7835776d70… Patch
- github.com/facelessuser/pymdown-extensions/releases/tag/10.21.3 ProductRelease Notes
Metrics
- CVSS 3.1
-
4.3
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N - EPSS — exploit probability
- 0% percentile: 35 · as of 15 November 2026
- CWE
- CWE-22
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.