XSS in Tornadoweb Tornado
CVE-2025-67724
Tornado is a Python web framework and asynchronous networking library. In versions 6.5.2 and below, the supplied reason phrase is used unescaped in HTTP headers (where it could be used for header injection) or in HTML in the default error page (where it could be used for XSS) and can be exploited by passing untrusted or malicious data into the reason argument. Used by both RequestHandler.set_status and tornado.web.HTTPError, the argument is designed to allow applications to pass custom "reason" phrases (the "Not Found" in HTTP/1.1 404 Not Found) to the HTTP status line (mainly for non-standard status codes). This issue is fixed in version 6.5.3.
Vulnerability class: XSS (Cross-Site Scripting)
EPSS: 0.002 (14.2th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 5.4 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N.
Affected products
- Tornadoweb Tornado — versions < 6.5.3
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Mitigation, Vendor Advisory)
- security-advisories@github.com (Patch, x_refsource_MISC)
- security-advisories@github.com (x_refsource_MISC, Release Notes)
Frequently asked questions
- What is CVE-2025-67724?
- CVE-2025-67724 is a medium-severity vulnerability in Tornadoweb Tornado, classified under Cross-site Scripting. CVSS score: 5.4/10. Published 2025-12-12.
- How severe is CVE-2025-67724?
- Medium severity. CVSS v3 base score is 5.4 out of 10.