---
id: CVE-2026-59922
aliases:
  - PYSEC-2026-2210
  - GHSA-c8j7-8cv4-2xmq
title: >-
  Mistune is a Python Markdown parser with renderers and plugins. Prior to
  3.3.0, a run of closed tilde, equals-sign, or caret marker pairs…
summary: >-
  Mistune is a Python Markdown parser with renderers and plugins. Prior to
  3.3.0, a run of closed tilde, equals-sign, or caret marker pairs around a
  character causes quadratic work in src/mistune/plugins/formatting.py when the
  strikethroug…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
vendor: mistune
product: mistune
ecosystem: pip
affected:
  - mistune < 3.3.0
patched:
  - mistune 3.3.0
published: '2026-07-08'
updated: '2026-07-13'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/PYSEC-2026-2210'
references:
  - url: 'https://github.com/lepture/mistune/releases/tag/v3.3.0'
  - url: >-
      https://github.com/lepture/mistune/commit/96d0f57f8fe9eeb06bb4cff521962a27d7c402e7
  - url: 'https://github.com/lepture/mistune/security/advisories/GHSA-c8j7-8cv4-2xmq'
tags:
  - osv
  - pip
epss: 0.00644
epssPercentile: 0.48602
ingestedAt: '2026-07-13T18:58:08.108Z'
---

## Overview

Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.3.0, a run of closed tilde, equals-sign, or caret marker pairs around a character causes quadratic work in src/mistune/plugins/formatting.py when the strikethrough, mark, or insert plugin scans for matching markers from each possible start position, allowing denial of service through CPU exhaustion. This issue is fixed in version 3.3.0.

## Affected packages

- `mistune < 3.3.0`

## Remediation

Upgrade to a patched release:

- `mistune 3.3.0`
