Cloudanix VulnDB

CVE-2025-6069

Medium · 4.3

CVSS

4.3

EPSS

0.6%

Published

Jun 17, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

Python's built-in HTML reading tool can be overwhelmed by cleverly broken web page data, potentially slowing down or stopping services that rely on it.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The html.parser.HTMLParser class exhibits worst-case quadratic complexity when processing certain crafted malformed HTML inputs, enabling CPU exhaustion and denial of service.

Why it matters to the business

Applications that parse untrusted HTML with the Python standard library may experience service degradation or outages, increasing operational costs and availability risks across a broad ecosystem of Python deployments.

How an attack unfolds

An attacker identifies an application endpoint that feeds untrusted data into html.parser.HTMLParser, supplies a specially malformed HTML payload engineered to trigger quadratic behavior, and sustains the input to exhaust CPU resources.

How to fix it

Upgrade Python/cpython to the commit 4455cbabf991e202185a25a631af206f60bbc949 or later; rebuild and redeploy affected applications with the patched interpreter.

How to confirm the fix worked

Confirm the running Python interpreter contains commit 4455cbabf991e202185a25a631af206f60bbc949, then execute parsing benchmarks against known quadratic-triggering inputs to verify linear performance.

Typical attack path

  1. Locate Python applications or services that invoke html.parser.HTMLParser on external input
  2. Craft malformed HTML that forces quadratic parsing paths
  3. Transmit the payload via network-accessible interfaces
  4. Monitor for resource consumption and repeat submissions to sustain denial of service

How to detect it

Inspect Python process CPU profiles during HTML parsing windows, review application logs for unusually large or malformed HTML submissions coinciding with performance issues, and correlate with network traffic to parser endpoints.

What your security team should do

  • Apply the fixed commit 4455cbabf991e202185a25a631af206f60bbc949 immediately to all Python environments
  • Audit codebases for direct or indirect use of html.parser on untrusted data
  • Consider replacing html.parser with more robust parsers for high-risk inputs
  • Establish monitoring for anomalous CPU usage in Python processes handling HTML

The record

The html.parser.HTMLParser class had worse-case quadratic complexity when processing certain crafted malformed inputs potentially leading to amplified denial-of-service.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 python39 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-Cython 0 0.29.21-5.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-Cython 0 0.29.21-5.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-PyMySQL 0 0.10.1-2.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-attrs 0 20.3.0-2.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-cffi 0 1.14.3-2.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-cffi 0 1.14.3-2.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-chardet 0 3.0.4-19.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-cryptography 0 3.3.1-3.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-debug 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-devel 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-idle 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-idna 0 2.10-4.module_el8.10.0+3849+a48d89aa
AlmaLinux:8 python39-iniconfig 0 1.1.1-2.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-libs 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-lxml 0 4.6.5-1.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-lxml 0 4.6.5-1.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-mod_wsgi 0 4.7.1-7.module_el8.10.0+3989+a618fe15.1
AlmaLinux:8 python39-more-itertools 0 8.5.0-2.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-numpy 0 1.19.4-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-numpy 0 1.19.4-3.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-numpy-doc 0 1.19.4-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-numpy-f2py 0 1.19.4-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-numpy-f2py 0 1.19.4-3.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-packaging 0 20.4-4.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pip 0 20.2.4-9.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-pip-wheel 0 20.2.4-9.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-pluggy 0 0.13.1-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-ply 0 3.11-10.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-psutil 0 5.8.0-4.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-psutil 0 5.8.0-4.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-psycopg2 0 2.8.6-3.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-psycopg2-doc 0 2.8.6-3.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-psycopg2-tests 0 2.8.6-3.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-py 0 1.10.0-1.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pybind11 0 2.7.1-1.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pybind11 0 2.7.1-1.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-pybind11-devel 0 2.7.1-1.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pybind11-devel 0 2.7.1-1.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-pycparser 0 2.20-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pyparsing 0 2.4.7-5.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pysocks 0 1.7.1-4.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pytest 0 6.0.2-2.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pyyaml 0 5.4.1-1.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-pyyaml 0 5.4.1-1.module_el8.6.0+3248+c431e88c
AlmaLinux:8 python39-requests 0 2.25.0-3.module_el8.9.0+3634+fb2a896c
AlmaLinux:8 python39-rpm-macros 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-scipy 0 1.5.4-5.module_el8.9.0+3634+fb2a896c
AlmaLinux:8 python39-setuptools 0 50.3.2-7.module_el8.10.0+4040+9207bbc0
AlmaLinux:8 python39-setuptools-wheel 0 50.3.2-7.module_el8.10.0+4040+9207bbc0
AlmaLinux:8 python39-six 0 1.15.0-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-test 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-tkinter 0 3.9.25-2.module_el8.10.0+4083+53cad1fb
AlmaLinux:8 python39-toml 0 0.10.1-5.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-urllib3 0 1.25.10-5.module_el8.10.0+3765+2f9a457d
AlmaLinux:8 python39-wcwidth 0 0.2.5-3.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-wheel 0 1:0.35.1-4.module_el8.6.0+2780+a40f65e1
AlmaLinux:8 python39-wheel-wheel 0 1:0.35.1-4.module_el8.6.0+2780+a40f65e1
AlmaLinux:9 python-unversioned-command 0 3.9.25-2.el9_7
AlmaLinux:9 python3 0 3.9.25-2.el9_7
AlmaLinux:9 python3-debug 0 3.9.25-2.el9_7
AlmaLinux:9 python3-devel 0 3.9.25-2.el9_7
AlmaLinux:9 python3-idle 0 3.9.25-2.el9_7
AlmaLinux:9 python3-libs 0 3.9.25-2.el9_7
AlmaLinux:9 python3-test 0 3.9.25-2.el9_7
AlmaLinux:9 python3-tkinter 0 3.9.25-2.el9_7
Bitnami libpython 0 3.13.6
Bitnami libpython 0 3.9.24
Bitnami python 0 No fix
Bitnami python 0 3.9.24
Bitnami python-min 0 No fix
Bitnami python-min 0 3.9.24
Chainguard python-3.10 0 3.10.18-r1
Chainguard python-3.10-base 0 3.10.18-r1
Chainguard python-3.10-base-dev 0 3.10.18-r1
Chainguard python-3.10-dev 0 3.10.18-r1
Chainguard python-3.10-doc 0 3.10.18-r1
Chainguard python-3.11 0 3.11.13-r1
Chainguard python-3.11-base 0 3.11.13-r1
Chainguard python-3.11-base-dev 0 3.11.13-r1
Chainguard python-3.11-dev 0 3.11.13-r1
Chainguard python-3.11-doc 0 3.11.13-r1
Chainguard python-3.12 0 3.12.11-r1
Chainguard python-3.12-base 0 3.12.11-r1
Chainguard python-3.12-base-dev 0 3.12.11-r1
Chainguard python-3.12-dev 0 3.12.11-r1
Chainguard python-3.12-doc 0 3.12.11-r1
Chainguard python-3.12-privileged-netbindservice 0 3.12.11-r1
Chainguard python-3.12-tk 0 3.12.11-r1
Chainguard python-3.13 0 3.13.5-r1
Chainguard python-3.13-base 0 3.13.5-r1
Chainguard python-3.13-base-dev 0 3.13.5-r1
Chainguard python-3.13-dev 0 3.13.5-r1
Chainguard python-3.13-doc 0 3.13.5-r1
Chainguard python-3.13-privileged-netbindservice 0 3.13.5-r1
Chainguard python-3.13-tk 0 3.13.5-r1
Chainguard python-3.9 0 3.9.23-r1
Chainguard python-3.9-base 0 3.9.23-r1
Chainguard python-3.9-base-dev 0 3.9.23-r1
Chainguard python-3.9-default 0 3.9.23-r1
Chainguard python-3.9-dev 0 3.9.23-r1
Chainguard python-3.9-doc 0 3.9.23-r1
Debian:11 jython 0 No fix
Debian:11 pypy3 0 No fix
Debian:11 python2.7 0 No fix
Debian:11 python3.9 0 No fix
Debian:12 jython 0 No fix
Debian:12 pypy3 0 No fix
Debian:12 python3.11 0 No fix
Debian:13 jython 0 No fix
Debian:13 pypy3 0 No fix
Debian:13 python3.13 0 No fix
Debian:14 jython 0 No fix
Debian:14 pypy3 0 No fix
Debian:14 python3.13 0 3.13.6-1
SUSE:Enterprise Storage 7.1 python3 0 3.6.15-150300.10.97.2
SUSE:Enterprise Storage 7.1 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Micro 5.2 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Micro 5.2 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Micro 5.3 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Micro 5.3 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Micro 5.4 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Micro 5.4 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Micro 5.5 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Micro 5.5 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 python311-core 0 3.11.13-150600.3.35.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Module for Basesystem 15 SP7 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 python311-core 0 3.11.13-150600.3.35.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Module for Package Hub 15 SP6 python 0 2.7.18-150000.80.1
SUSE:Linux Enterprise Module for Package Hub 15 SP6 python-base 0 2.7.18-150000.80.1
SUSE:Linux Enterprise Module for Package Hub 15 SP7 python 0 2.7.18-150000.80.1
SUSE:Linux Enterprise Module for Package Hub 15 SP7 python-base 0 2.7.18-150000.80.1
SUSE:Linux Enterprise Module for Python 3 15 SP6 python311 0 3.11.13-150600.3.35.2
SUSE:Linux Enterprise Module for Python 3 15 SP6 python311-core 0 3.11.13-150600.3.35.1
SUSE:Linux Enterprise Module for Python 3 15 SP6 python312 0 3.12.11-150600.3.33.1
SUSE:Linux Enterprise Module for Python 3 15 SP6 python312-core 0 3.12.11-150600.3.33.1
SUSE:Linux Enterprise Module for Python 3 15 SP7 python311 0 3.11.13-150600.3.35.2
SUSE:Linux Enterprise Module for Python 3 15 SP7 python311-core 0 3.11.13-150600.3.35.1
SUSE:Linux Enterprise Server 12 SP5-LTSS python36 0 3.6.15-84.1
SUSE:Linux Enterprise Server 12 SP5-LTSS python36-core 0 3.6.15-84.1
SUSE:Linux Enterprise Server 15 SP3-LTSS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Server 15 SP3-LTSS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Server 15 SP4-LTSS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Server 15 SP4-LTSS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Server 15 SP5-LTSS python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Server 15 SP5-LTSS python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 python 0 2.7.18-33.50.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 python-base 0 2.7.18-33.50.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 python-doc 0 2.7.18-33.50.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 python36 0 3.6.15-84.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 python36-core 0 3.6.15-84.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 python3-core 0 3.6.15-150300.10.97.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 python3 0 3.6.15-150300.10.97.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 python3-core 0 3.6.15-150300.10.97.1
SUSE:Manager Proxy 4.3 python3 0 3.6.15-150300.10.97.2
SUSE:Manager Proxy 4.3 python3-core 0 3.6.15-150300.10.97.1
SUSE:Manager Server 4.3 python3 0 3.6.15-150300.10.97.2
SUSE:Manager Server 4.3 python3-core 0 3.6.15-150300.10.97.1
Wolfi python-3.10 0 3.10.18-r1
Wolfi python-3.10-base 0 3.10.18-r1
Wolfi python-3.10-base-dev 0 3.10.18-r1
Wolfi python-3.10-dev 0 3.10.18-r1
Wolfi python-3.10-doc 0 3.10.18-r1
Wolfi python-3.11 0 3.11.13-r1
Wolfi python-3.11-base 0 3.11.13-r1
Wolfi python-3.11-base-dev 0 3.11.13-r1
Wolfi python-3.11-dev 0 3.11.13-r1
Wolfi python-3.11-doc 0 3.11.13-r1
Wolfi python-3.12 0 3.12.11-r1
Wolfi python-3.12-base 0 3.12.11-r1
Wolfi python-3.12-base-dev 0 3.12.11-r1
Wolfi python-3.12-dev 0 3.12.11-r1
Wolfi python-3.12-doc 0 3.12.11-r1
Wolfi python-3.12-privileged-netbindservice 0 3.12.11-r1
Wolfi python-3.12-tk 0 3.12.11-r1
Wolfi python-3.13 0 3.13.5-r1
Wolfi python-3.13-base 0 3.13.5-r1
Wolfi python-3.13-base-dev 0 3.13.5-r1
Wolfi python-3.13-dev 0 3.13.5-r1
Wolfi python-3.13-doc 0 3.13.5-r1
Wolfi python-3.13-privileged-netbindservice 0 3.13.5-r1
Wolfi python-3.13-tk 0 3.13.5-r1

Related vulnerabilities