Path Traversal in pymdown-extensions (CVE-2023-32309)
Summary
Path traversal in pymdown-extensions (CVE-2023-32309). Confidential information can be exposed externally. Exploitable via base_path. Mitigation: upgrade to 10.0 or later.
Original description
The description as published by the source.
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 been addressed in version 10.0. Users are advised to upgrade. Users unable to upgrade may restrict relative paths by filtering input.
Source: JVN (Japan Vulnerability Notes) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2023-32309 has been found in pymdown-extensions.
Attackers can target a specific entry point like base_path over the network to misuse the product.
Confidential information can be exposed externally.
What to do: upgrade pymdown-extensions to 10.0 or later.
If unsure, ask your IT team or search "pymdown-extensions CVE-2023-32309" on the vendor's site.
CVE-2023-32309 (pymdown-extensions) — CWE-22
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: base_path
Patched: 10.0 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Path traversal (CWE-22) exists in pymdown-extensions. Attackers reach the vulnerable code path via base_path without authentication.
Check the vendor advisory for the affected versions of pymdown-extensions. Attack surface: base_path.
Severity: ?. Confidential information can be exposed externally.
Update to 10.0.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'pymdown-extensions' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'pymdown-extensions' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
pymdown-extensionsを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade pymdown-extensions to 10.0ステージング環境で 10.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2023-32309 pymdown-extensions
- Ubuntu UBUNTU-CVE-2023-32309 pymdown-extensions
References
- advisory github.com
- advisory nvd.nist.gov
- advisory github.com
- advisory github.com
- JVN JVNDB-2026-026213
- package github.com
- package pypi.org
- patch github.com
- web github.com