minc-nice-100/http2-bomb-analysis-paper

GitHub: minc-nice-100/http2-bomb-analysis-paper

一份以 LaTeX 编写的 HTTP/2 Bomb 漏洞深度分析论文,详尽剖析了 HPACK 索引引用放大与流控制停滞的攻击链机制及其对五大主流 Web 服务器的影响与防御方案。

Stars: 1 | Forks: 1

# HTTP/2 Bomb:HPACK 索引引用放大链攻击 **一名高中生的独立技术深入分析** *2026 年 6 月* ## 太长不看 本仓库包含了我对 **HTTP/2 Bomb** 漏洞(CVE-2026-49975 / CVE-2026-47774)的完整分析,该漏洞将两个具有数十年历史的 HTTP/2 原语进行了链式组合: - **HPACK 索引引用放大** – 向几乎为空的动态表条目发送数千个单字节引用 - **Flow-control 窗口停滞** – 零初始窗口加上周期性的 1 字节 WINDOW_UPDATE,从而永久占用内存 **结果:** 单个 100 Mbps 的客户端可以在短短 **10 秒内**耗尽服务器 **32 GB 的内存**。 ## 🧠 我是如何接触到这个问题的 这一切始于我在漫无目的地刷 **Bilibili**(中国的 YouTube)。一个科技频道简短地提到了“一种新型 HTTP/2 攻击导致主流 Web 服务器瘫痪”。没有细节,只有标题。 这引起了我的兴趣。我暂停了视频,打开了披露链接,随后便陷入了这个深坑。一篇论文引出了五个 CVE,接着引出了 RFC,又引出了源代码。直到我完全弄明白为什么线上传输的单个字节能够占用 59 字节的内存——以及为什么以前没有人将这两个技巧串联起来——我才停下来。 所以这个仓库不仅仅是一个摘要。这是我完整、毫不妥协的深度剖析,使用 LaTeX 从零开始编写。没有老师要求我这样做。我只是无法放下它。 ## 影响 影响所有五大主要 Web 服务器实现的默认配置: | 实现 | 放大倍数 | 耗尽至 32GB 时间 | |----------------|--------------|---------------| | Envoy 1.37.2 | ~5,700:1 | ~10 秒 | | Apache httpd 2.4.67 | ~4,000:1 | ~18 秒 | | nginx 1.29.7 | ~70:1 | ~45 秒 | | Microsoft IIS | ~68:1 | ~45 秒 | | Cloudflare Pingora | ~68:1 | — | ## 目录 | 文件 | 描述 | |------|-------------| | `http2-bomb-paper.tex` | 我完整论文的 LaTeX 源码 | | `http2-bomb-paper.pdf` | 编译好的 PDF(可直接阅读) | | `README.md` | 本文件 | **中文博客文章(通俗易懂版):** [https://www.itedev.com/posts/2026/06/12/http2-bomb-blog-zh](https://www.itedev.com/posts/2026/06/12/http2-bomb-blog-zh) ## 核心发现(独立分析) 1. 放大效应源于**每个条目的簿记开销**(内存池块、结构体),而不是解码后的大小——这绕过了传统的 HPACK bomb 防御。 2. Apache 中的 Cookie 片段合并会产生 **O(N²) 的二次方内存增长**。 3. Envoy 的 Cookie 缓冲区绕过了 `max_request_headers_kb`——放大倍数高达 5,700 倍。 4. RFC 7541 §7.3 规范缺陷:仅对压缩率进行了建模,而未考虑**每个条目的分配器开销 + Flow-control 占用**。 ## 防御模型 | 控制措施 | 防御目标 | |---------|----------------| | 最大解码 Header 大小 | 传统 HPACK bomb | | **最大 Header 字段数**(包含 Cookie 片段) | 索引引用 bomb(本攻击) | | 停滞 Stream 生命周期限制 | Flow-control 内存占用 | ## 为什么这很重要 该漏洞是由 **AI (Codex)** 在同时阅读五个代码库时发现的——这是一类新型的跨实现协议缺陷,即*“没有人负责处理边缘的衔接部分。”* ## 基于 由 Quang Luong、Jun Rong、Duc Phan(Calif Security Research)于 2026 年 6 月 2 日进行的协调披露。 原论文:[blog.calif.io/p/codex-discovered-a-hidden-http2-bomb](https://blog.calif.io/p/codex-discovered-a-hidden-http2-bomb) ## 作者 **Zhicheng Wu** 新会第一中学,2028 届 中国广东 ## 许可证 本作品采用 [CC BY 4.0](http://creativecommons.org/licenses/by/4.0/) 许可。 您可以自由分享和改编,但需注明出处。 *仅用于学术和防御目的。*
标签:HTTP/2, LaTeX, 拒绝服务攻击, 漏洞分析, 网络安全, 路径探测, 配置错误, 隐私保护