漏洞概述 标题: Bandit 信任客户端提供的明文连接上的方案 描述: Bandit 在不验证实际传输的情况下,反映了客户端提供的 URI 方案到 。在明文 HTTP/1.1 连接(或 h2c)上,未经身份验证的攻击者可以发送一个绝对形式的请求目标,如 ,应用程序会观察到 ,即使没有协商 TLS。任何下游逻辑依赖于 作为安全信号(如 Plug.SSL 的“already secure”分支、安全 cookie 标志、审计日志、CSRF/SameSite 保护等)都会被错误地认为攻击者的明文连接是加密的。 严重程度: 中等 (6.3 / 10) CVE ID: CVE-2024-39807 CWE ID: CWE-807 影响范围 受影响版本: >= 1.0.0 和 HTTPS 重定向。 安全 Cookie 泄露: 在明文响应中发出的带有 标志的 Cookie 可能被网络攻击者捕获。 审计日志错误: 记录为通过 HTTPS 到达的请求,破坏了取证和合规性假设。 应用代码错误: 使用 进行 CSRF/SameSite 策略、OAuth 重定向 URL 或 HSTS 相关决策的应用代码可能会做出错误的判断。 修复方案 建议修复: 当 为 时,强制方案为 ;当 时,强制为 。 或者,如果提供的方案与传输的实际安全状态不一致,则拒绝请求。 不要信任客户端提供的方案。 POC 代码