pypi / tornado
tornado
What changed in tornado 6, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-31.
19 security
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inittornado 619 changes
Security 19
Tornado: Event loop blocking and excess memory use from chunked bodies with many small chunks
Tornado: Open redirect in RedirectHandler via protocol-relative URLs
Tornado: Quadratic CPU usage when parsing HTTP headers with line folding
tornado: CurlAsyncHTTPClient enforces no response-size limit — decompression bomb drives unbounded memory accumulation to OOM
Tornado: StaticFileHandler follows symlinks outside static root (path traversal)
Tornado: Unbounded query-string argument count allows event-loop-stalling DoS
Tornado: Incomplete fix for CVE-2026-35536: cookie attribute injection re-opened via the legacy case-insensitive
**kwargspath inset_cookietornado: multipart split() creates huge temp list before max_parts check -> memory amplification DoS (httputil.py:34)
Tornado: Urlencoded body parsing omits max_num_fields, so one request can stall the event loop
Tornado: CurlAsyncHTTPClient leaks per-request credentials on handle reuse
tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
Tornado: Authorization header forwarded across cross-origin redirects in SimpleAsyncHTTPClient
Tornado has out-of-bounds memory access via C extension
Tornado has cookie attribute injection via .RequestHandler.set_cookie
Tornado has incomplete validation of cookie attributes
Tornado is vulnerable to DoS due to too many multipart parts
Tornado: Quadratic DoS via Crafted Multipart Parameters
Tornado: Quadratic DoS via Repeated Header Coalescing
Tornado vulnerable to Header Injection and XSS via reason argument