Mistune directives/include: mutual `.. include::` recursion crashes the renderer with `RecursionError`, denial of service via two attacker-controlled markdown files
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-59927
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 17:28 UTC · Revision 1
Source evidence
Mistune directives/include: mutual `.. include::` recursion crashes the renderer with `RecursionError`, denial of service via two attacker-controlled markdown files
core-osv · Original sourcePublished 8 Jul 2026, 16:24 UTC
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.
osv:CVE-2026-59927
Complete source record
{
"id": "ea6f9d83925aa73e5bd7d0630b97eadcaa049cbbe9c16f6ac214a665ff822846",
"url": "https://osv.dev/vulnerability/CVE-2026-59927",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Mistune directives/include: mutual `.. include::` recursion crashes the renderer with `RecursionError`, denial of service via two attacker-controlled markdown files",
"summary": "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.",
"evidence": "osv:CVE-2026-59927",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-59927",
"aliases": [
"CVE-2026-59927",
"GHSA-8mpj-m6qm-5qr8",
"PYSEC-2026-2215"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/lepture/mistune",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "15c3b79325125272263d7d42492ec8f757447191"
},
{
"fixed": "1bef343ade163fc3bb95572b15be720084cdb993"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:mistune_project:mistune:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.3.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "1bef343ade163fc3bb95572b15be720084cdb993"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "15c3b79325125272263d7d42492ec8f757447191"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v3.3.0"
}
]
}
}
],
"versions": [
"v3.2.1",
"v3.2.0",
"v3.1.4",
"v3.1.3",
"v3.1.2",
"v3.1.1",
"v3.1.0",
"v3.0.1",
"v3.0.0",
"v3.0.0rc5",
"v3.0.0rc4",
"v3.0.0rc3",
"v3.0.0rc2",
"v3.0.0rc1",
"v3.0.0a3",
"v3.0.0a2",
"v3.0.0a1",
"v2.0.2",
"v2.0.1",
"v2.0.0",
"v2.0.0rc1",
"v2.0.0a6",
"v2.0.0a5",
"v2.0.0a4",
"v2.0.0a3",
"v2.0.0a2",
"v2.0.0a1",
"v0.8.4",
"v0.8.3",
"v0.8.2",
"v0.8.1",
"v0.8",
"v0.7.4",
"v0.7.3",
"v0.7.2",
"v0.7.1",
"v0.7",
"v0.6",
"v0.5.1",
"v0.5",
"v0.4.1",
"v0.4",
"v0.3.1",
"v0.3.0",
"v0.2.0",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59927.json"
}
}
],
"modified": "2026-10-28T02:30:30.712004504Z",
"provider": "osv",
"references": [
"https://github.com/lepture/mistune/releases/tag/v3.3.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59927.json",
"https://github.com/lepture/mistune/security/advisories/GHSA-8mpj-m6qm-5qr8",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59927",
"https://github.com/lepture/mistune/commit/1bef343ade163fc3bb95572b15be720084cdb993"
],
"provider_metadata": {
"cwe_ids": [
"CWE-674",
"CWE-755"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59927.json"
}
},
"related_cves": [
{
"value": "CVE-2026-59927",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497801,
"published_at": "2026-07-08T16:24:37.985+00:00"
}