CVE-2026-116577

Tornado: Quadratic CPU usage when parsing HTTP headers with line folding

Published Oct 26, 2026 CVSS 3.1 · 5.3 Medium EPSS < 1% KEV · Not listed
Description
Tornado is a Python web framework and asynchronous networking library. Prior to 6.6, Tornado's HTTP header parser accepts obsolete line folding and repeatedly concatenates short continuation lines, causing quadratic CPU consumption on the IOLoop thread. An unauthenticated client can submit a header block containing many obsolete line-folding continuations before application code runs, blocking other connections served by the process. The cost grows with max_header_size, and only availability is affected. This issue is fixed in version 6.6.

Analysis

AI-generated

Technical impact

The vulnerability lies in Tornado’s HTTP header parser, which accepts obsolete line folding and repeatedly concatenates short continuation lines. This results in quadratic CPU consumption on the IOLoop thread. An unauthenticated attacker can send a crafted header block containing many continuation lines before the application code runs, blocking the event loop and preventing other connections from being served. The impact is limited to availability because the attacker can exhaust CPU resources, but no confidentiality or integrity is affected.

Affected Systems

Tornado, as provided by the Tornado web framework and asynchronous networking library under the vendor identifier tornadoweb:tornado, is vulnerable in all releases prior to version 6.6.0. The issue was fixed in release 6.6.0 and later. Therefore any installation of Tornado 6.5.x or earlier should be considered affected.

Risk and Exploitability

The CVSS base score of 5.3 indicates a moderate severity for availability. The EPSS score is not available, so the current exploitation probability cannot be quantified, and the vulnerability is not listed in the CISA KEV catalog. Attackers can exploit the flaw remotely by sending malicious HTTP requests with many line‑folding continuations; no special privileges or authentication are required. Because the vulnerability consumes CPU resources on the event loop thread, successful exploitation results in a denial of service that can affect all connections handled by the application process.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Tornado to version 6.6.0 or later to apply the fixed header parser logic.
  • If an upgrade is not immediately possible, configure the server to use a smaller max_header_size value to reduce the potential CPU consumption.
  • Monitor system CPU usage and application latency for unusual spikes that may indicate an attempted or ongoing denial‑of‑service attack.

Generated by OpenCVE AI on October 27, 2026 at 14:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-pcg2-g6cj-q92c Tornado: Quadratic CPU usage when parsing HTTP headers with line folding
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Tornadoweb
Tornadoweb tornado
Vendors & Products Tornadoweb
Tornadoweb tornado
Type Values Removed Values Added
Description Tornado is a Python web framework and asynchronous networking library. Prior to 6.6, Tornado's HTTP header parser accepts obsolete line folding and repeatedly concatenates short continuation lines, causing quadratic CPU consumption on the IOLoop thread. An unauthenticated client can submit a header block containing many obsolete line-folding continuations before application code runs, blocking other connections served by the process. The cost grows with max_header_size, and only availability is affected. This issue is fixed in version 6.6.
Title Tornado: Quadratic CPU usage when parsing HTTP headers with line folding
Weaknesses CWE-407
CWE-770
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

Weaknesses
  • CWE-1322

    Use of Blocking Code in Single-threaded, Non-blocking Context

  • CWE-407

    Inefficient Algorithmic Complexity

  • CWE-770

    Allocation of Resources Without Limits or Throttling

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Oct 31, 2026, 1:48 AM
Reserved
Oct 26, 2026, 3:03 PM
Status
Deferred
Published
Oct 26, 2026, 9:18 PM
Modified
Oct 31, 2026, 2:17 AM
Severity
Moderate
Public date
Oct 26, 2026, 8:20 PM