CVE-2026-6019Python标准库中的`http.cookies.Morsel.js_output()`方法存在安全漏洞。该方法用于生成JavaScript代码片段以设置Cookie,但仅对双引号进行了转义,未能正确过滤HTML解析器敏感序列`</script>`。攻击者可通过构造包含恶意`</script>`标签的Cookie值,闭合原有的脚本标签并注入任意JavaScript代码。这可能导致存储型XSS攻击,窃取用户敏感信息或执行未经授权的操作。
该漏洞位于Python的`http.cookies`模块中,具体涉及`Morsel`类的`js_output()`方法。其设计目的是在HTML页面中通过JavaScript动态设置Cookie。生成的代码格式通常为`<script>document.cookie="name=value";</script>`。方法内部仅针对JavaScript字符串上下文中的双引号(`"`)进行了转义处理,防止闭合字符串,但忽略了HTML解析器的行为。在HTML中,`<script>`标签的内容在遇到`</script>`序列时会立即结束,无论JavaScript字符串是否闭合。攻击者可以利用这一逻辑漏洞,精心构造包含`</script>`序列的Cookie值。当服务器通过`js_output()`输出该Cookie时,攻击者提供的序列会闭合原本的脚本标签,从而允许攻击者注入任意HTML或JavaScript代码。这种攻击方式绕过了常规的JS字符串转义机制,属于典型的上下文混淆漏洞。利用此漏洞,攻击者可实施存储型XSS攻击,窃取会话令牌、修改页面内容或重定向用户。