Tornado: Authorization header forwarded across cross-origin redirects in SimpleAsyncHTTPClient
Description
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
tornadoPyPI | < 6.5.6 | 6.5.6 |
Affected products
5- Range: < 6.5.6
- osv-coords4 versionspkg:apk/chainguard/mitmproxypkg:apk/wolfi/mitmproxypkg:pypi/tornadopkg:rpm/opensuse/python-tornado6&distro=openSUSE%20Tumbleweed
< 12.2.3-r1+ 3 more
- (no CPE)range: < 12.2.3-r1
- (no CPE)range: < 12.2.3-r1
- (no CPE)range: < 6.5.6
- (no CPE)range: < 6.5.7-1.1
Patches
Vulnerability mechanics
References
2News mentions
0No linked articles in our index yet.