CVE Catalog

CVE-2026-115927

MediumCVSS 5.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.38%

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

Summary

In Tornado before 6.6.0, HTTP/1.1 chunked transfer encoding decoding processes already-arrived body data without yielding to the event loop. A remote unauthenticated peer can send millions of one-byte chunks to monopolize the process event loop and stall every other connection served by that process. SimpleAsyncHTTPClient has the same event-loop behavior when reading a response from a malicious server.

Risk Assessment

An attacker can cause a denial of service (DoS) by stalling the Tornado server event loop, preventing other connections from being served. The risk affects organizations exposing Tornado-based applications before version 6.6.0.

Recommendation

Upgrade Tornado to version 6.6.0, which contains the fix. Consider limiting network exposure of Tornado-based services until the update is deployed.

Other vulnerabilities in Tornado

See all
Original NVD description (English source)

Tornado is a Python web framework and asynchronous networking library. Prior to 6.6.0, Tornado decodes HTTP/1.1 chunked transfer encoding by processing body data that has already arrived without yielding to the event loop. A remote unauthenticated peer can send millions of one-byte chunks to monopolize the process event loop and stall every other connection served by that process, while lowering max_body_size only limits the duration of each request. For handlers that do not use @stream_request_body, retaining each chunk as a separate object can consume roughly twenty times the received body size, and SimpleAsyncHTTPClient has the same event-loop behavior when reading a response from a malicious server. This issue is fixed in version 6.6.0.

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