Skip to main content

Uncontrolled Resource Consumption

CVE-2025-67726

Severity High
Score 7.5/10

Summary

Tornado is a Python web framework and asynchronous networking library. Versions through 6.5.2 use an inefficient algorithm when parsing parameters for HTTP header values, potentially causing a Denial-of-Service(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.

  • LOW
  • NETWORK
  • NONE
  • UNCHANGED
  • NONE
  • NONE
  • NONE
  • HIGH

CWE-400 - Uncontrolled resource consumption

An uncontrolled resource allocation attack (also known as resource exhaustion attack) triggers unauthorized overconsumption of the limited resources in an application, such as memory, file system storage, database connection pool entries, and CPU. This may lead to denial of service for valid users and degradation of the application's functionality as well as that of the host operating system.

Advisory Timeline

  • Published