Back to feed
18Track

Tornado: Event loop blocking and excess memory use from chunked bodies with many small chunks

tornadoweb tornado · CVE-2026-115927
0 news outlets1 CERTs and agencies0 research labs

Assessment: Track

SSVC decision points: exploitation none, automatable yes, technical impact partial, deployment low.

What is it?

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.

Evidence

Official warnings1National CERTs, government cyber security agencies and the vendor’s own advisories

Exploitation

  • Exploit code published (not verified by us)
  • Exploited in the wild (confirmed by a source)
  • Listed as known exploited (CISA KEV)
CVSS
5.3
EPSS
0.4%
First seen
13 h ago
Status
confirmed

All tornadoweb vulnerabilities