Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-59927 EUVD-2026-42339GHSA-8mpj-m6qm-5qr8PYSEC-2026-2215

Mistune directives/include: mutual `.. include::` recursion crashes the renderer with `RecursionError`, denial of service via two attacker-controlled markdown files

Published Jul 8, 2026 · Updated Jul 8, 2026 · Assigned by GitHub_M

Description

Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.3.0, the Include directive in src/mistune/directives/include.py detects only direct self-includes and not indirect cycles, allowing two markdown files that include each other to trigger unbounded recursion, raise RecursionError, and crash the rendering request. This issue is fixed in version 3.3.0.

Affected products

VendorProductAffectedFixed
lepture mistune < 3.3.0 —

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 No fix yet —
Ubuntu 26.04 LTS mistune No fix yet —
Ubuntu 25.10 mistune No fix yet —
Ubuntu 24.04 LTS mistune No fix yet —
Ubuntu 22.04 LTS mistune 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 —
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-mistune 3.1.3-160000.5.1 SUSE-SU-2026:22655-1
SLES 16.0 python-mistune 3.1.3-160000.5.1 SUSE-SU-2026:22655-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 python-mistune 3.1.3-160000.5.1 openSUSE-SU-2026:21339-1

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI mistune < 3.3.0 3.3.0 GHSA-8mpj-m6qm-5qr8

Advisories 2

References