CVE-2025-67726
Tornado is a Python web framework and asynchronous networking library. Versions 6.5.2 and below use an inefficient algorithm when parsing parameters for HTTP header values, potentially causing a DoS. The _parseparam function in httputil.py is used to parse specific HTTP header values, such as those in multipart/form-data and repeatedly calls string.count() within a nested loop while processing quoted semicolons. If an attacker sends a request with a large number of maliciously crafted parameters in a Content-Disposition header, the server's CPU usage increases quadratically (O(n²)) during parsing. Due to Tornado's single event loop architecture, a single malicious request can cause the entire server to become unresponsive for an extended period. This issue is fixed in version 6.5.3.
Scoring
- Severity
- HIGH
- CVSS base score
- 7.5
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- EPSS probability
- 0.53%
- CWE
- CWE-834, CWE-400
- Published
- 2025-12-12
- Last modified
- 2026-03-13
Affected products
- tornadoweb tornado
Weakness type
Related vulnerabilities
- CVE-2026-16497 — NVIDIA Triton Inference Server for Linux contains a vulnerability where an attacker could cause...
- CVE-2026-84311 — pypdf: Possible long runtimes/large memory usage when extracting XForm objects
- CVE-2026-84310 — pypdf: Possible long runtimes/large memory usage when retrieving outlines
- CVE-2026-77357 — Mesop: DoS in /hot-reload endpoint allows unauthenticated attacker to exhaust worker threads and crash the server
- CVE-2026-71852 — pypdf: Possible long runtimes/large memory usage for large CID font width ranges
- CVE-2026-59644 — MLS hash-ratchet honours arbitrary 32-bit generation counter from sender
- CVE-2026-64641 — Next.js: Denial of Service in App Router using Server Actions
- CVE-2026-50171 — Angular: Denial of Service (DoS) via OOM in Number Formatting (digitsInfo)