Read the docs
TI-2026-44140 Aliases CVE-2026-61632GHSA-9xwg-3r6f-jcx2

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

Priority MEDIUM 63CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Information disclosure
Confidentiality · integrity · availability
Low · None · None
Fix status
Partial Red Hat: 3 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-22 and the CVSS impact.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00403 34th percentileScored 2026-11-07
Fix Partial pymdown-extensions (facelessuser): 11.0pymdown-extensions (PyPI): 11.0.0Red Hat: 3 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
facelessuserpymdown-extensionsbefore 11.011.0Patch availableCNA
—pymdown-extensions (PyPI)before 11.0.011.0.0Patch availableGHSA-9xwg-3r6f-jcx2
  • pymdown-extensions Vendorfacelessuser Affected before 11.0 Fixed in 11.0 Patch available CNA
  • pymdown-extensions (PyPI) Vendor— Affected before 11.0.0 Fixed in 11.0.0 Patch available GHSA-9xwg-3r6f-jcx2

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:facelessuser:pymdown_extensions:*:*:*:*:*:*:*:*——facelessuser
  • cpe:2.3:a:facelessuser:pymdown_extensions:*:*:*:*:*:*:*:* Versions — — ·facelessuser

Remediation

  • Fix · CNA pymdown-extensions (facelessuser) Fixed in 11.0
  • Fix · GHSA-9xwg-3r6f-jcx2 pymdown-extensions (PyPI) Fixed in 11.0.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Developer Hub 1AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Self-service automation portal 2AffectedNo fix yet: Fix deferred
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-61632
  2. 2026-10-03 Alias added: GHSA-9xwg-3r6f-jcx2
  3. 2026-10-27 Affected versions changed · Red Hat

References

  • TI-2026-47703 pymdown-extensions: Exponential-backtracking ReDoS in caret, tilde, betterem, and magiclink inline processors CVSS 3.1HIGH 7.5
  • TI-2026-36631 Soup Sieve: Regular Expression Denial of Service (ReDoS) in soupsieve Selector Parser CVSS 3.1HIGH 7.5
  • TI-2026-36630 Soup Sieve: Memory Exhaustion via Large Comma-Separated Selector Lists in soupsieve CVSS 3.1HIGH 7.5
  • TI-2023-15603 Arbitrary file inclusion with the pymdowm-snippets extension CVSS 3.1HIGH 7.5
  • TI-2026-58861 Soup Sieve: Polynomial-time ReDoS (O(n²)) in the `IDENTIFIER` / `VALUE` selector sub-patterns CVSS 3.1MEDIUM 5.3
  • TI-2026-58860 Regular expression denial of service in facelessuser soupsieve CVSS 3.1MEDIUM 5.3
See all 8 →

Sources