CVE-2026-116577 — 脆弱性インテリジェンス
tornadoweb — tornado
公表日:
- CVSS
- 5.3
- CISA KEV
- 未掲載(悪用がないことを意味しません)
情報源の原文(翻訳ではありません)
Tornado: Quadratic CPU usage when parsing HTTP headers with line folding
### 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.