PYSEC-2026-3387
Tornado: Authorization header forwarded across cross-origin redirects in SimpleAsyncHTTPClient
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2026-49853
- Alias
- GHSA-3x9g-8vmp-wqvf
- CVSS_V3
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
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.
Paquets affectés
| Paquet | Versions |
|---|---|
| PyPI · tornado | introduced 0, fixed 6.5.6 |
Références
- https://github.com/tornadoweb/tornado/security/advisories/GHSA-3x9g-8vmp-wqvf WEB
- https://github.com/tornadoweb/tornado PACKAGE
- https://pypi.org/project/tornado PACKAGE
- https://github.com/advisories/GHSA-3x9g-8vmp-wqvf ADVISORY
- https://nvd.nist.gov/vuln/detail/CVE-2026-49853 ADVISORY
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — PyPA Advisory Database |