漏洞概述 该漏洞涉及在跨源重定向时未正确剥离认证头(如 和 ),可能导致敏感信息泄露或被用于绕过凭证验证。 影响范围 HTTP-Tiny 模块:Perl 的 HTTP-Tiny 模块在处理跨源重定向时,默认情况下会保留认证头,这可能被恶意利用。 跨源请求:任何涉及跨源重定向的请求都可能受到影响,特别是那些需要携带凭证(如 cookie 或基本认证)的场景。 修复方案 1. 默认行为调整: - 默认情况下,HTTP-Tiny 将拒绝从 HTTPS 到 HTTP 的重定向。 - 在跨源重定向时,默认剥离认证头。 2. 代码修改: - 在 文件中,添加 选项,允许用户在需要时手动设置认证头。 - 示例代码修改如下: 3. 测试覆盖: - 增加测试用例,覆盖从提供基本认证的 URL 发起的重定向请求,确保在不同情况下认证头的正确处理。 POC 代码 页面中未提供具体的 POC 代码,但提到了需要增加测试用例来覆盖相关场景。 其他信息 讨论参与者:oalders、robrwo、haarg 等。 状态:该 Pull Request 已被合并,相关更改已应用于主分支。 总结 该漏洞的修复通过调整默认行为和提供手动配置选项,确保了跨源重定向时的安全性,防止了敏感信息的泄露。