CVE intelligence and bounded remediation

CVE-2023-32309 — PyMdown Extensions is a set of extensions for the `Python-Markdown` markdown project

High CVSS 7.5

PyMdown Extensions is a set of extensions for the `Python-Markdown` markdown project. In affected versions an arbitrary file read is possible when using include file syntax. By using the syntax `--8<--"/etc/passwd"` or `--8<--"/proc/self/environ"` the content of these files will be rendered in the generated documentation. Additionally, a path relative to a specified, allowed base path can also be used to render the content of a file outside the specified base paths: `--8<-- "../../../../etc/passwd"`. Within the Snippets extension, there exists a `base_path` option but the implementation is vulnerable to Directory Traversal. The vulnerable section exists in `get_snippet_path(self, path)` lines 155 to 174 in snippets.py. Any readable file on the host where the plugin is executing may have its content exposed. This can impact any use of Snippets that exposes the use of Snippets to external users. It is never recommended to use Snippets to process user-facing, dynamic content. It is designed to process known content on the backend under the control of the host, but if someone were to accidentally enable it for user-facing content, undesired information could be exposed. This issue has…

Severity
High
CVSS
7.5 (3.1)
Published
2023-05-15
CISA KEV
Not currently listed
Ecosystem
python/pypi
Weaknesses
CWE-22

Affected products

  • facelessuser / pymdown_extensions

Matched remediation archetype

Path traversal, unsafe upload, and file handling

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Trace untrusted filenames, archive entries, URLs, and path segments into read, write, include, extraction, and upload operations.
  • Identify filesystem roots, mount permissions, symbolic-link behavior, archive handling, and whether uploaded content is web-accessible or executable.
  • Review canonicalization and containment checks across supported operating systems and storage backends.

Remediate safely

  • Generate server-side storage identifiers and resolve paths beneath a fixed root using filesystem-aware containment checks.
  • Reject absolute, parent-relative, alternate-separator, device, link, and archive entries that escape the intended root.
  • Store uploads outside executable or served paths, validate type and size, and use private atomic temporary files.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.