Open redirect in Tornado RedirectHandler via crafted request paths
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Spoofing
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Partial Red Hat: 11 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-601.
Summary
Tornado before 6.6 contains an open redirect in tornado.web.RedirectHandler, where URL templates that place regex capture substitutions at the start of a path or directly after a fixed host let crafted request paths change the redirect scheme or host (CWE-601). An unauthenticated remote attacker can use crafted requests to redirect users from the application's domain to an attacker-controlled site, which enables phishing.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
Tornado is a Python web framework and asynchronous networking library. Prior to 6.6, tornado.web.RedirectHandler URL templates can place regex-capture substitutions where crafted request paths change the redirect scheme or network location. Affected placements include substitutions at the start of a path, directly after a fixed host, or at the beginning of the template, including protocol-relative, absolute, backslash, encoded, host-extension, and user-info variants interpreted by browsers as attacker-controlled destinations. Static templates and substitutions after a fixed host followed by a slash are not affected. An attacker can use the resulting open redirect on the application's domain for phishing. This issue is fixed in version 6.6.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tornadoweb | tornado | before 6.6 | 6.6 | Patch available | CNA |
| — | tornado (PyPI) | before 6.6 | 6.6 | Patch available | GHSA-pw9p-v7r6-gx4p |
- tornado Vendortornadoweb Affected before 6.6 Fixed in 6.6 Patch available CNA
- tornado (PyPI) Vendor— Affected before 6.6 Fixed in 6.6 Patch available GHSA-pw9p-v7r6-gx4p
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:tornadoweb:tornado:*:*:*:*:*:*:*:* | — | — | tornadoweb |
- cpe:2.3:a:tornadoweb:tornado:*:*:*:*:*:*:*:* Versions — — ·tornadoweb
Remediation
Upgrade the PyPI package tornado to version 6.6, which fixes this issue. Red Hat lists Lightspeed Core, OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux 8, 9 and 10, Red Hat Enterprise Linux AI (RHEL AI) 3, Red Hat OpenShift AI (RHOAI), Red Hat OpenShift Container Platform 4 and 5 as affected with no fix available, and Red Hat OpenStack Platform 16.2 with no fix planned.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA tornado (tornadoweb) Fixed in 6.6
- Fix · GHSA-pw9p-v7r6-gx4p tornado (PyPI) Fixed in 6.6 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Lightspeed Core | Affected | No fix yet: Fix deferred |
| OpenShift Lightspeed | Affected | No fix yet: Fix deferred |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
| Red Hat OpenStack Platform 16.2 | Affected | No fix planned: Out of support scope |
Timeline
- 2026-10-26 Threatist record created from CVE-2026-116578
- 2026-10-27 Affected versions changed · Red Hat
- 2026-10-27 CVSS score added · Red Hat
- 2026-10-28 Alias added: GHSA-pw9p-v7r6-gx4p
- 2026-10-28 Fix available: PyPI/[email protected] · GHSA-pw9p-v7r6-gx4p
- 2026-10-28 CVSS score added · GHSA-pw9p-v7r6-gx4p
- 2026-10-28 Weakness changed · GHSA-pw9p-v7r6-gx4p
- 2026-10-28 8 new references · GHSA-pw9p-v7r6-gx4p
- 2026-10-30 Affected versions changed · Red Hat
- 2026-10-30 CISA SSVC decision points changed
References
Other 7
- https://github.com/tornadoweb/tornado/security/advisories/GHSA-pw9p-v7r6-gx4p
- https://github.com/tornadoweb/tornado/pull/3786
- https://github.com/tornadoweb/tornado/commit/940ea725bdd9bc68231d68a105eef17ea6e11233
- https://github.com/tornadoweb/tornado/commit/cc75ab0eb3af459c714895a49f682ad354f50117
- https://github.com/tornadoweb/tornado/commit/ccb6a2e5482f17997efd4a74b8200d5b4babc035
- https://github.com/tornadoweb/tornado/releases/tag/v6.6.0
- https://github.com/tornadoweb/tornado
More tornadoweb vulnerabilities
- TI-2026-65637 Tornado before 6.5.9 Denial of Service via CurlAsyncHTTPClient CVSS 4.0HIGH 8.7
- TI-2026-62120 Tornado before 6.5.8 Memory Amplification DoS via multipart CVSS 4.0HIGH 8.7
- TI-2024-13023 Tornado before 6.4.1 HTTP Request Smuggling via Transfer-Encoding CVSS 4.0CRITICAL 9.0
- TI-2026-65638 Tornado before 6.5.9 StaticFileHandler Path Traversal via Symlink CVSS 4.0HIGH 8.2
- TI-2026-62122 Tornado before 6.5.7 Credential Leak via Handle Reuse CVSS 4.0HIGH 8.2
- TI-2026-62121 Tornado before 6.5.8 Cookie Attribute Injection via Capitalized kwargs CVSS 4.0MEDIUM 6.3
Sources
- CVE-2026-116578 · CVE Program
- CVE-2026-116578 · NVD
- FIRST EPSS
- GHSA-pw9p-v7r6-gx4p · GitHub Advisory Database · CC BY 4.0
- CVE-2026-116578 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences