CVE-2026-33979Express XSS Sanitizer 是 Express 4.x 和 5.x 的中间件,用于清理用户输入以防止 XSS 攻击。在 2.0.2 版本之前,该组件存在漏洞,导致开发人员设置的限制性清理配置(如 allowedTags 或 allowedAttributes)被静默忽略。这使得本应被严格过滤的恶意输入可能被放行,从而导致应用程序遭受跨站脚本攻击。
该漏洞源于 Express XSS Sanitizer 在版本 2.0.2 之前对配置参数的处理逻辑存在缺陷。当开发者在配置对象中显式指定 `allowedTags` 或 `allowedAttributes`(例如设置为空数组以禁止所有标签)以实施严格的输入过滤时,受影响的中间件版本会静默忽略这些显式提供的限制性配置,转而使用默认的宽松规则或被内部逻辑覆盖。攻击者利用此漏洞,可以在 HTTP 请求的 body、query、headers 或 params 中精心构造包含恶意 HTML 或 JavaScript 的载荷。由于预期的清理机制失效,这些恶意载荷未被移除或转义,直接进入应用程序的业务逻辑层。随后,当应用程序将数据反射回用户浏览器时,恶意脚本将在受害者上下文中执行,导致存储型或反射型跨站脚本攻击,进而可能窃取 Cookie、会话令牌或执行其他恶意操作。