我们在 hyper HTTP 库中发现了一个漏洞
Cloudflare 安全团队在广泛使用的开源 hyper HTTP 库中发现了一个漏洞,该库基于 Rust 语言开发。此漏洞可能影响依赖 hyper 处理 HTTP 请求的应用程序和服务。团队已向维护者报告并协助修复,建议用户及时更新版本以确保安全。
背景速读
- Cloudflare 是全球最大的 CDN(内容分发网络)和安全服务商之一,每天处理大量互联网流量。其核心产品包括反向代理、DDoS 防护和 Web 应用防火墙。
- Hyper 是一个用 Rust 语言编写的高性能 HTTP 库,被许多现代基础设施项目(包括 Cloudflare 的部分内部服务和 AWS 的某些组件)广泛采用。Rust 以内存安全著称,但这不代表零 bug。
- Cloudflare 在部署前会进行大量灰度测试(即逐步放量、观察影响),但该 bug 极其隐蔽——在特定的 HTTP 请求时序和连接复用条件下才会触发,内部测试未能覆盖。
- 问题根源是 hyper 对 HTTP/2 连接复用时的状态管理漏洞,可能导致错误的数据被写入响应。Cloudflare 发现后主动向 hyper 维护者提交了修复补丁。
- 此事的意义:即使是经过严格审计的内存安全语言和成熟开源库,在极端并发场景下仍可能隐藏严重 bug。它提醒业界不能因使用 Rust 就放松对代码逻辑的审查。