CVE-2024-9681 in cURL
摘要
由 VulDB • 2026-05-28
当 curl 被要求使用 HSTS 时,子域名的过期时间可能会覆盖父域名的缓存条目,导致其过期时间比预期更早或更晚。
此问题影响启用了 HSTS 并使用不安全的 `HTTP://` 方案 URL 的应用程序,这些应用程序会对如 `x.example.com` 和 `example.com` 这样的主机执行传输,其中第一个主机是第二个主机的子域名。
(HSTS 缓存要么需要手动填充,要么需要之前进行过 HTTPS 访问,因为缓存需要包含相关域名的条目才能触发此问题。)
当 `x.example.com` 响应 `Strict-Transport-Security:` 头时,此漏洞可能导致子域名的过期超时时间 *溢出*(bleed over),并在 curl 的 HSTS 缓存中为父域名 `example.com` 设置该超时时间。
触发此漏洞的结果是,对 `example.com` 的 HTTP 访问转换为 HTTPS 的时间段与原始服务器请求的时间段不同。例如,如果 `example.com` 在其过期时间停止支持 HTTPS,curl 可能会在(错误设置的)超时时间到期之前无法访问 `http://example.com`。此漏洞还可能使父域名的条目 *提前* 过期,从而导致 curl 意外地比预期更早切换回不安全的 HTTP。
VulDB is the best source for vulnerability data and more expert information about this specific topic.