CVSS 5.3 MEDIUM

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

Mã khác
GHSA-pcg2-g6cj-q92c
Công bố
Cập nhật
Lần đầu thấy
Nguồn
GitHub Advisory, NVD, CVE.org, OSV.dev

Mô tả

Summary

Tornado's HTTP header parser takes quadratic time (O(n²)) when a header value is continued across many "obsolete line folding" (obs-fold) lines. An unauthenticated attacker can send a request whose header block is mostly short continuation lines. Parsing it uses a large amount of CPU on the IOLoop thread and blocks every other connection that process is serving.

This issue is closely related to CVE-2025-67725 (GHSA-c98p-7wgm-6p64). The fix for that advisory covered repeated headers but not line-folded continuations.

Impact

All Tornado HTTP servers are affected. Header parsing runs before any application code, so no authentication or particular handler is required.

How bad it gets depends on max_header_size:

  • Default (64 KB): each malicious request blocks the event loop for tens of milliseconds. Repeated requests can degrade service.
  • Raised max_header_size: the cost grows with the square of the header size. A single 1 MB request can block the process for several seconds.

Only availability is affected. Confidentiality and integrity are not.

Patches

Fixed in Tornado 6.6 by removing support for obsolete line folding completely; header lines that begin with whitespace are now rejected.

Workarounds
  • Keep max_header_size at its default value or lower it. This limits the impact but doesn't remove it.
  • Run Tornado behind a reverse proxy that rejects or normalizes obsolete line folding before forwarding requests.
Credit

Reported by @manus-pi.

Điểm và phân loại

CVSS
5.3 MEDIUM v3.1
Nguồn điểm
NVD
Mức độ (theo nguồn)
MEDIUM
EPSS
0.38%

Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
pip tornado < 6.6 6.6

Sản phẩm

  • tornadoweb tornado

Vì sao bị lọc

  • CVSS 5.3 < 8.0 và không thuộc CISA KEV

Loại tác động

Không nhận ra loại tác động nào từ CWE, vector hay mô tả.

Dữ liệu riêng của nguồn

CVE.org · Đơn vị cấp mã
GitHub_M
CVE.org · SSVC
Tự động hoá được: yes · Khai thác: none · Tác động kỹ thuật: partial
OSV.dev · ID
GHSA-pcg2-g6cj-q92c

Tham khảo