Description
Tornado before 6.6 contains a path traversal vulnerability in RequestHandler.static_url() and get_version() that allows attackers to hash files outside static_path using ../ sequences. Attackers controlling input passed to static_url() can obtain SHA-512 hashes of readable files to confirm their existence, or reference /dev/zero to block the event loop indefinitely.
Published: 2026-11-08
Score: 8.3 High
EPSS: n/a
KEV: No
Impact: Information Disclosure
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a path traversal flaw in Tornado’s RequestHandler.static_url() and get_version() methods. By supplying a user-controlled value that includes traversal sequences such as '..', an attacker can cause the framework to compute SHA‑512 hashes of any readable file outside the intended static directory. This enumeration can confirm the existence or non‑existence of arbitrary files. Additionally, passing a path such as /dev/zero can cause the event loop to block indefinitely, resulting in denial of service. The weakness is classified as CWE-22 and carries a CVSS score of 8.3, reflecting its high potential impact.

Affected Systems

All releases of the Tornado web framework prior to version 6.6 are affected. The vendor product is Tornado Web, operated by the Tornadoweb team. The issue exists in the static_url() and get_version() code paths that handle user input without proper sanitisation. Organisations running Python applications that expose Tornado endpoints and rely on these functions must verify that they are not vulnerable.

Risk and Exploitability

The high CVSS rating indicates significant severity, yet the Exploit Prediction Scoring System score is not available and the vulnerability is not listed in CISA’s KEV catalogue, meaning no widespread public exploitation has been documented. The likely attack vector is remote over the network: an attacker sends an HTTP request that triggers static_url() or get_version() with a crafted path. Successful exploitation requires the application to call these methods with user‑supplied data, a common pattern in web applications that expose static file handling logic. If an attacker obtains the hash of a sensitive file, they can confirm its presence and choose further attack steps. The denial‑of‑service behaviour can be triggered by pointing the input to /dev/zero, allowing an attacker to freeze the application indefinitely.

Generated by OpenCVE AI on November 8, 2026 at 02:47 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Tornado to version 6.6 or later, which removes the traversal flaw in static_url() and get_version().
  • If an immediate upgrade is not possible, eliminate any public calls to RequestHandler.static_url() or get_version() that accept user input, or isolate that functionality behind strict access controls.
  • Validate or sanitize all user‑supplied values passed to static_url() and get_version() so that path components containing '..' are disallowed or normalised; reject or escape such input before it reaches the vulnerable code path.

Generated by OpenCVE AI on November 8, 2026 at 02:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 08 Nov 2026 01:45:00 +0000

Type Values Removed Values Added
Description Tornado before 6.6 contains a path traversal vulnerability in RequestHandler.static_url() and get_version() that allows attackers to hash files outside static_path using ../ sequences. Attackers controlling input passed to static_url() can obtain SHA-512 hashes of readable files to confirm their existence, or reference /dev/zero to block the event loop indefinitely.
Title Tornado before 6.6 Path Traversal via static_url() Version Hashing
First Time appeared Tornadoweb
Tornadoweb tornado
Weaknesses CWE-22
CPEs cpe:2.3:a:tornadoweb:tornado:*:*:*:*:*:*:*:*
Vendors & Products Tornadoweb
Tornadoweb tornado
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:H'}

cvssV4_0

{'score': 8.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Tornadoweb Tornado
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-08T01:37:42.381Z

Reserved: 2026-11-06T00:48:01.382Z

Link: CVE-2026-123534

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-08T02:16:43.727

Modified: 2026-11-08T02:16:43.863

Link: CVE-2026-123534

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-08T03:30:15Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')