CVE-2025-67724CVE-2025-67724是Tornado Web框架中的一个中危安全漏洞,影响版本6.5.2及以下版本。该漏洞源于Tornado在处理HTTP响应状态码的原因短语(Reason Phrase)时未进行适当的转义处理。当应用程序通过RequestHandler.set_status方法或tornado.web.HTTPError异常设置自定义状态码原因短语时,用户提供的未过滤数据会被直接插入到HTTP响应头或HTML错误页面中。攻击者可利用此漏洞在HTTP响应头中注入恶意字符(如换行符),实现HTTP响应拆分攻击,或在HTML页面中注入JavaScript代码实现跨站脚本攻击(XSS)。由于该漏洞利用需要用户交互(UI:R)且攻击复杂度较低(AC:L),攻击者可通过诱使受害者访问特制链接或提交特定请求来触发漏洞。在Web应用场景中,任何允许用户控制HTTP状态码或错误信息的Tornado应用都可能受到此漏洞影响。
Tornado是一个流行的Python异步Web框架,广泛用于构建高性能Web应用和API服务。该漏洞的核心问题在于Tornado的RequestHandler.set_status()方法和HTTPError类在处理reason参数时缺少输入验证和输出编码。具体来说,当开发者调用set_status(404, reason=user_input)时,如果user_input包含特殊字符如换行符(\r\n),攻击者可以注入额外的HTTP头或构造完整的HTTP响应,从而实现HTTP响应拆分攻击。此外,当Tornado生成默认错误页面时,reason字段会被直接嵌入到HTML响应中而未进行HTML转义,攻击者可注入<script>标签等XSS payload。攻击者需要构造包含恶意reason短语的值,并通过社会工程学手段诱使目标用户访问恶意链接或提交特定请求。由于该漏洞影响HTTP响应的完整性(I:L)和机密性(C:L),可能导致会话劫持、敏感信息泄露或进一步的攻击链构建。