~ / search / GHSA-jhmp-mqwm-3gq8

GHSA-jhmp-mqwm-3gq8

Tornado: Quadratic DoS via Crafted Multipart Parameters

Source: GitHub Advisory Database (reviewed) High CVE-2025-67726

Packages

EcosystemPackageAffectedFixed in
PyPI tornado < 6.5.3 6.5.3

Details

As written in the advisory (Markdown source, shown as plain text).

## Summary The `_parseparam` function in Tornado's `httputil.py` is used to parse specific HTTP header values, such as those in `multipart/form-data`. This function uses an inefficient algorithm that repeatedly calls `string.count()` within a nested loop while processing quoted semicolons (e.g., `param=";"`). As a result, 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, leading to a Denial of Service (DoS). **Severity: High**

References

External links from the advisory. They lead to third-party sites.