CVE-2026-43968ninenines cowlib组件中存在CRLF注入漏洞。该漏洞源于cow_sse:event/1函数未能正确中和回车符(\r),攻击者可利用此缺陷在服务器发送事件(SSE)中注入恶意字段。通过构造特制的数据包,攻击者能够分割SSE事件或伪造包含任意类型和载荷的完整事件。在典型部署场景下,这可能导致客户端逻辑被操纵,甚至引发存储型XSS攻击。受影响版本涵盖2.6.0至2.16.1之前的所有版本。
该漏洞位于ninenines cowlib库的SSE处理模块中。核心问题在于cow_sse:event/1函数对输入字段的校验机制不完整,仅针对换行符(\n)进行了防护,而忽略了回车符(\r)。同时,内部用于处理data和comment字段的prefix_lines/2函数也仅以\n作为分隔符。然而,SSE规范要求客户端将\r\n、\r和\n视为等效的行终止符。由于这一差异,攻击者可以通过在id、event、data或comment字段中注入\r字符,绕过服务端的过滤逻辑。当客户端解析这些恶意构造的SSE流时,\r会被解析为新行的开始,从而允许攻击者注入伪造的event类型和data字段。这种注入行为可能导致EventSource客户端执行错误的逻辑分支,或在将event.data插入DOM时触发存储型跨站脚本攻击。