Vulnerability Description
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.
CVSS Score
MEDIUM
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Tornadoweb | Tornado | < 6.5.3 |
Related Weaknesses (CWE)
References
- https://github.com/tornadoweb/tornado/commit/9c163aebeaad9e6e7d28bac1f33580eb00bPatch
- https://github.com/tornadoweb/tornado/releases/tag/v6.5.3Release Notes
- https://github.com/tornadoweb/tornado/security/advisories/GHSA-pr2v-jx2c-wg9fMitigationVendor Advisory
FAQ
What is CVE-2025-67724?
CVE-2025-67724 is a vulnerability with a CVSS score of 5.4 (MEDIUM). 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 inje...
How severe is CVE-2025-67724?
CVE-2025-67724 has been rated MEDIUM with a CVSS base score of 5.4/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2025-67724?
Check the references section above for vendor advisories and patch information. Affected products include: Tornadoweb Tornado.