CVE Catalog

CVE-2025-67726

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.54%

43th percentile - higher than 43% of all known CVEs

Summary

In Tornado versions 6.5.2 and below, an inefficient algorithm is used 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, potentially causing the server to become unresponsive. This issue is fixed in version 6.5.3.

Risk Assessment

A single malicious request can render the server unresponsive to other users, leading to denial of service.

Recommendation

Upgrade Tornado to version 6.5.3. Monitor for unusual requests and consider limiting header sizes if possible.

Other vulnerabilities in Tornado

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS