Skip to content
OpenAdvisories
Medium · 4.7 CVE-2026-44899 EUVD-2026-31992GHSA-ccfx-mfmx-2fx9PYSEC-2026-2209

Mistune Image Directive CSS Injection Vulnerability

Published May 26, 2026 · Updated May 27, 2026 · Assigned by GitHub_M

Description

Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, the Image directive plugin validates the :width: and :height: options with a regex compiled as _num_re = re.compile(r"^\d+(?:\.\d*)?"). When the validated value is not a plain integer, render_block_image() inserts it directly into a style="width:...;" or style="height:...;" attribute. Because the value was accepted by the prefix-only regex, any CSS after the leading digits reaches the style= attribute verbatim and without escaping. This vulnerability is fixed in 3.2.1.

Affected products

VendorProductAffectedFixed
lepture mistune < 3.2.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 mistune No fix yet —
Debian 13 mistune No fix yet —
Debian 12 mistune No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 mistune +1 No fix yet —
Ubuntu 26.04 LTS mistune +1 No fix yet —
Ubuntu 25.10 mistune +1 No fix yet —
Ubuntu 24.04 LTS mistune +1 No fix yet —
Ubuntu 22.04 LTS mistune +1 No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS mistune No fix yet —
Ubuntu 18.04 LTS mistune No fix yet —
Ubuntu 16.04 LTS mistune No fix yet —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-mistune 3.2.1-1 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI mistune >= 3.2.0, < 3.2.1 3.2.1 GHSA-ccfx-mfmx-2fx9
PyPI mistune < 3.2.1 3.2.1 PYSEC-2026-2209

References