PT-2026-60001 · Pypi · Tornado

Published

2026-07-13

·

Updated

2026-07-13

CVSS v3.1

7.7

High

VectorAV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N

Summary

When SimpleAsyncHTTPClient follows a 3xx redirect, it shallow-copies the original HTTPRequest, rewrites the URL, decrements max redirects, and removes only the Host header. It does not clear Authorization, auth username, auth password, or auth mode when the redirect target changes origin.
As a result, credentials intended for one origin can be forwarded to a different origin when follow redirects=True, which is the default.
Beginning in Tornado 6.5.6, SimpleAsyncHTTPClient matches the default behavior of libcurl (and therefore CurlAsyncHTTPClient): When a redirect changes the scheme, host, or port of the url, the Authorization and Cookie headers will be removed when following the redirect.

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

PYSEC-2026-3387

Affected Products

Tornado