一种名为“HTTP/2 Bomb”的新型拒绝服务(DoS)攻击,被安全公司 Calif 借助 OpenAI 的 Codex 智能体发现。攻击者仅需一台普通机器,利用 100Mbps 带宽,就能在数秒到数十秒内拖垮配置了默认 HTTP/2 的 Web 服务器。受影响的软件包括 Nginx、Apache HTTP Server、微软 IIS、Envoy、Cloudflare Pingora 等主流产品。目前部分厂商已发布补丁,但 IIS、Envoy、Pingora 尚无修复方案。本文将拆解攻击原理,并提供临时缓解措施。

一、 攻击原理:两步操作,榨干服务器内存
该攻击串联了两种已知的 HTTP/2 协议缺陷,形成“组合拳”。
第一步:HPACK 动态表压缩放大
HTTP/2 使用 HPACK 算法压缩请求头以提升效率。攻击者先发送一个体积很小的自定义请求头(例如 x-bomb: a),将其插入 HPACK 动态表。随后,攻击者反复发送仅包含紧凑索引的后续请求(每个请求只占几个字节),服务器每次都需要从动态表中解压出完整的头。由于动态表内占用数千字节内存,而攻击者每个请求只贡献 1 字节,形成了 数千倍的内存放大。
实测数据显示:
- Envoy 的放大比例达 5700:1(1 字节输入 → 5700 字节内存分配)
- Apache httpd 的放大比例为 4000:1
第二步:流控停滞,阻止内存释放
攻击者声明零字节流控窗口,使服务器无法正常返回响应。为维持连接,服务器只能周期性发送极小的 WINDOW_UPDATE 帧避免超时。请求被永久挂起,已分配的 HPACK 动态表内存无法释放。随着攻击者不断重复第一步,服务器内存持续累积,最终被耗尽。
测试结果:
- Envoy 1.37.2:约 10 秒耗尽 32GB 内存。
- Apache httpd 2.4.67:约 18 秒耗尽 32GB 内存。
二、 受影响范围与修复状态
| 软件 | 受影响版本 | 修复状态 | 补丁/方案 |
|---|---|---|---|
| Nginx | 默认 HTTP/2 配置 | ✅ 已修复 | 1.29.8 引入 max_headers 指令 |
| Apache httpd | 默认 HTTP/2 配置 | ✅ 已修复 | mod_http2 2.0.41(CVE-2026-49975) |
| 微软 IIS | 未知 | ❌ 暂无补丁 | 建议临时关闭 HTTP/2 |
| Envoy | 1.37.2 及更早 | ❌ 暂无补丁 | 暂无官方修复 |
| Cloudflare Pingora | 受影响 | ❌ 暂无补丁 | 暂无官方修复 |
三、 临时缓解措施(适用于所有服务器)
3.1 关闭 HTTP/2 协议(最直接)
- Nginx:在
listen指令中移除http2关键字,仅保留http1.1。 - Apache:禁用
http2模块,或从Protocols中移除h2。 - IIS:在站点绑定中取消勾选 HTTP/2。
代价:失去 HTTP/2 的多路复用、头部压缩等性能优势,但对中小网站影响有限。
3.2 限制请求头数量
- Nginx(1.29.8+):设置
max_headers 100;(默认无限制)。 - Apache:使用
LimitRequestFields指令限制单请求最多 100 个头部。 - 前端代理:在 HAProxy、Traefik 等反向代理中限制请求头数量。
3.3 部署 Web 应用防火墙(WAF)或 CDN
专业 WAF 可以在请求到达源站前,识别并拦截恶意 HTTP/2 流量特征:
- 百度云防护 WAF:支持自定义规则,可限制单个请求的头字段数量、检测异常流控窗口组合。即使源站 HTTP/2 存在漏洞,WAF 可在边缘节点直接阻断攻击流量。
- 速度网络高防 IP:可在网络层过滤畸形 HTTP/2 帧,对源站透明,且不影响正常用户访问。
建议:对于无法立即升级或关闭 HTTP/2 的生产环境,前置一层 WAF 或高防 CDN 是最快的应急方案。
四、 总结
HTTP/2 Bomb 攻击利用协议设计缺陷,实现了惊人的放大效果,对依赖 HTTP/2 的高并发服务构成严重威胁。受影响最严重的 Envoy、IIS 等软件暂缺官方补丁,管理员应优先关闭 HTTP/2 或限制请求头数量,并考虑部署专业的 WAF/CDN 进行前置过滤。
如果你的服务器运行 Nginx 或 Apache,请立即升级到安全版本;如果使用其他受影响软件,建议临时关闭 HTTP/2 并关注厂商更新。
对于无法立即变更架构的网站,百度云防护 WAF 提供虚拟补丁能力,可在云侧拦截此类攻击,无需修改服务器配置。欢迎联系主机吧获取免费测试。
主机吧 | 百度云防护官方合作伙伴
提供 WAF、高防 CDN、高防 IP、服务器安全服务
让 HTTP/2 攻击无功而返,让网站永远在线。


