CVE-2026-40895follow-redirects是Node.js的http和https模块的替代品,用于自动跟随重定向。在1.16.0版本之前,当HTTP请求跟随跨域重定向(如301/302/307/308)时,该模块仅会剥离Authorization、proxy-authorization和cookie头部。然而,任何自定义的身份验证头部(例如X-API-Key、X-Auth-Token、Api-Key、Token)都会被原样转发到重定向的目标地址。这导致敏感的认证信息可能泄露给第三方服务器,存在严重的信息泄露风险。
该漏洞源于follow-redirects库在处理跨域重定向时的头部过滤逻辑不完善。通常,为了遵循安全最佳实践,跨域重定向不应携带敏感的认证凭证。虽然库代码中实现了针对标准认证头的剥离机制,但其使用的是正则表达式匹配,且仅覆盖了Authorization、Cookie等有限的几个标准头名称。攻击者可以诱导受害者的应用向攻击者控制的服务器发起请求,该服务器返回一个指向恶意或第三方域名的302重定向。由于库未过滤自定义API Key等头部,受害者的客户端会自动跟随重定向,并将原本发送给可信API的自定义认证头(如X-API-Key)附加在发给新域名的请求中。攻击者捕获该请求后即可获取受害者的敏感凭证,进而接管账户或冒充身份。