Cyber Resilience

CVE-2025-69534

DoS in Python-Markdown Markdown 3.8

Public PoCDoS
Published
05 March 2026
Modified
15 July 2026
Patch / advisory
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS Score 0.0057 44th percentile
Risk Priority 58 floored blend · peak EPSS

Summary

CVE-2025-69534 is a high-severity Uncontrolled Resource Consumption (CWE-400) vulnerability in Python-Markdown Markdown. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique OS Exhaustion Flood (T1499.001); ranked at the 44th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SC-5 (Denial-of-service Protection) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2025-69534 is a vulnerability in Python-Markdown version 3.8, where malformed HTML-like sequences trigger an unhandled AssertionError in Python's html.parser.HTMLParser during Markdown parsing. Because Python-Markdown does not catch this exception, applications that process attacker-controlled Markdown are susceptible to crashes. This issue affects any software or service relying on Python-Markdown 3.8 for parsing untrusted input, including web applications, documentation systems, and CI/CD pipelines.

A remote, unauthenticated attacker can exploit this vulnerability by supplying specially crafted Markdown content, causing the parsing process to fail and resulting in denial of service through application crashes. The CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) highlights its ease of exploitation and high availability impact, with no privileges or user interaction required. The vulnerability is linked to CWE-400 (Uncontrolled Resource Consumption) and may also enable information disclosure via details in uncaught exceptions.

The vendor acknowledged the issue and addressed it in Python-Markdown version 3.8.1. Mitigation involves upgrading to the patched version. Additional details are documented in the project's GitHub repository at https://github.com/Python-Markdown/markdown, issue #1534 at https://github.com/Python-Markdown/markdown/issues/1534, a related CI action at https://github.com/Python-Markdown/markdown/actions/runs/15736122892, and an announcement on the oss-security mailing list at http://www.openwall.com/lists/oss-security/2026/03/06/4.

EU & UK References

Vulnerability Data

Python-Markdown version 3.8 contain a vulnerability where malformed HTML-like sequences can cause html.parser.HTMLParser to raise an unhandled AssertionError during Markdown parsing. Because Python-Markdown does not catch this exception, any application that processes attacker-controlled Markdown may crash. This enables remote, unauthenticated…

more

Denial of Service in web applications, documentation systems, CI/CD pipelines, and any service that renders untrusted Markdown. The issue was acknowledged by the vendor and fixed in version 3.8.1. This issue causes a remote Denial of Service in any application parsing untrusted Markdown, and can lead to Information Disclosure through uncaught exceptions.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1499.001 OS Exhaustion Flood Impact
Adversaries may launch a denial of service (DoS) attack targeting an endpoint's operating system (OS).
T1499.004 Application or System Exploitation Impact
Adversaries may exploit software vulnerabilities that can cause an application or system to crash and deny availability to users.
T1498 Network Denial of Service Impact
Adversaries may perform Network Denial of Service (DoS) attacks to degrade or block the availability of targeted resources to users.
T1499 Endpoint Denial of Service Impact
Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users.
T1499.002 Service Exhaustion Flood Impact
Adversaries may target the different network services provided by systems to conduct a denial of service (DoS).
T1499.003 Application Exhaustion Flood Impact
Adversaries may target resource intensive features of applications to cause a denial of service (DoS), denying availability to those applications.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-44435Shared CWE-400, CWE-617
CVE-2024-34036Shared CWE-400, CWE-617
CVE-2024-34035Shared CWE-400, CWE-617
CVE-2025-8537Shared CWE-400, CWE-617
CVE-2023-52425Shared CWE-400
CVE-2024-20716Shared CWE-400
CVE-2025-9341Shared CWE-400
CVE-2026-21952Shared CWE-400
CVE-2025-0426Shared CWE-400
CVE-2026-9602Shared CWE-400

Affected Assets

python-markdown
markdown
3.8

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation finds reachable assertions during development.

SC-5 directly limits the effects of resource-exhaustion events that constitute uncontrolled consumption.

SC-6 enforces explicit allocation limits on resources, structurally preventing the weakness from occurring.

Security engineering principles discourage use of assertions for handling untrusted input.

Process isolation confines resource consumption to separate domains, reducing blast radius without stopping the root flaw.

Validating untrusted inputs structurally prevents attacker data from reaching and triggering assertions.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.IR-04 mostly match
prevents

Explicitly requires monitoring and maintaining resource capacity, directly addressing uncontrolled consumption to preserve availability.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly prevent unsafe assertions from being coded in reachable paths.

DE.CM-09 partial match
prevents

Continuous monitoring of computing resources can detect resource exhaustion but does not itself enforce allocation limits.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover and record reachable-assertion flaws before deployment.

PR.IR-03 partial match
prevents

Resilience mechanisms such as avoiding single points of failure indirectly reduce impact of resource exhaustion.

PR.PS-01 partial match
prevents

Hardened configuration baselines can include resource quotas and limits that constrain consumption.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Resource-utilization monitoring and alerting on bottlenecks or overloads limits the impact of denial-of-service or resource-exhaustion attacks.

finds

Security testing in development can detect reachable assertions before release, reducing the likelihood of exploitation.

prevents

By continuously monitoring utilization, stress-testing peak loads, and maintaining documented plans to scale or throttle resources, the control directly limits an attacker’s ability to drive a system into uncontrolled resource exhaustion.

finds

Pre-agreed severity-based prioritization and resource allocation during incident triage reduce the likelihood that an attacker-induced resource exhaustion will overwhelm the organization before corrective action is taken.

mitigates

Business-continuity plans that include resource-management controls reduce the likelihood that an attacker can trigger uncontrolled resource consumption by forcing the system into a degraded or fallback state.

mitigates

Defining RTOs and capacity requirements for ICT services during business-impact analysis forces organizations to provision sufficient resources and throttling mechanisms, reducing the likelihood that an attacker can induce denial-of-service through uncontrolled resource consumption.

References