CVE-2026-41683i18next-http-middleware是用于Node.js和Deno的中间件。在3.9.3版本之前,该组件存在安全漏洞。当应用使用的i18next版本低于19.5.0时,攻击者可以通过控制语言参数(lng),注入回车换行符(CRLF)序列。由于utils.escape()函数未过滤控制字符,这些特殊字符会被原样写入Content-Language响应头中。这可能导致HTTP响应头注入,进而引发缓存投毒、跨站脚本攻击(XSS)或其他敏感信息泄露风险。该漏洞无需认证且无需用户交互即可通过网络利用。
该漏洞源于i18next-http-middleware对用户输入处理不当。具体而言,中间件将用户提供的lng参数直接传递给utils.escape()函数,该函数主要用于HTML实体编码,但并未剔除回车符(CR,\r)和换行符(LF,\n)等控制字符。在特定条件下,即应用程序使用了旧版i18next(< 19.5.0)触发LanguageDetector.js中的向后兼容回退机制时,攻击者构造的包含%0d%0a(CRLF)的恶意输入会绕过过滤。这些未经过滤的CRLF序列随后被传递给res.setHeader('Content-Language', ...),导致攻击者能够篡改HTTP响应头。攻击者可以利用此漏洞注入伪造的响应头(如Set-Cookie),实施会话劫持、缓存投毒或反射型XSS攻击。