CVE-2026-61632 PyMdown Extensions: Path traversal in the b64 extension lets <img src> read files outside base_path

Medium 5.3 Published Updated

Attackers can read arbitrary image files outside the base directory by exploiting path traversal in the b64 extension of PyMdown Extensions.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-61632?

CVE-2026-61632 is a medium-severity path traversal vulnerability in facelessuser pymdown-extensions, published on 6 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

PyMdown Extensions is a set of extensions for the Python-Markdown markdown project. In versions up to and including 10.21.3, the b64 extension is vulnerable to a path traversal that discloses arbitrary files: it inlines images referenced by <img src="..."> by joining the src onto the configured base_path with os.path.normpath and opening the result directly, without verifying that the resolved path stays inside base_path. As a result, an src containing ../ sequences or an absolute path reads a file outside base_path as long as it has an allowed image extension (.png, .jpg, .jpeg, .gif, .svg), and the file's contents are then base64-encoded into the rendered output, disclosing them. An application that renders untrusted Markdown with pymdownx.b64 enabled can therefore leak the contents of image-extension files readable by the process to whoever controls the Markdown or views the output, a targeted file-read bounded by the extension check. This issue has been fixed in version 11.0.

Weakness: CWE-22

Which versions are affected by CVE-2026-61632?

3 open source packages ship an affected version, including pymdown-extensions.

PackageAffectedFixed in
pymdown-extensions PyPIAll versions11.0.0
pymdown-extensions PyPIAll versions11.0.0
pymdown-extensions PyPIAll versions11.0.0

How do I fix CVE-2026-61632?

Upgrade pymdown-extensions to 11.0.0 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2026-61632 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-61632 exists.

Sources

Also known as DEBIAN-CVE-2026-61632, ECHO-d088-1f41-49db, GHSA-9xwg-3r6f-jcx2, PYSEC-2026-3609, UBUNTU-CVE-2026-61632.

Is CVE-2026-61632 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free