
HTTP/2 Bomb: HPACK 인덱스 참조 증폭 + 흐름 제어 중단. 한 고등학생의 전체 프로토콜 분석(LaTeX). CVE-2026-49975, CVE-2026-47774.
한 고등학생의 독립적인 기술 심층 분석
2026년 6월
이 저장소에는 HTTP/2 폭탄 취약점(CVE-2026-49975 / CVE-2026-47774)에 대한 저의 완전한 분석이 들어 있습니다. 이 취약점은 수십 년 된 두 가지 HTTP/2 프리미티브를 연쇄적으로 결합합니다:
결과: 단일 100Mbps 클라이언트가 고작 10초 만에 서버 메모리 32GB를 고갈시킬 수 있습니다.
이 모든 것은 제가 Bilibili(중국의 YouTube)를 헬스크롤링하던 중 시작되었습니다. 어떤 기술 채널이 "주요 웹 서버들을 무너뜨리는 새로운 HTTP/2 공격"을 아주 짧게 언급했습니다. 세부 내용은 없고 제목뿐이었습니다.
그 말이 제 머릿속에 강하게 박혔습니다. 저는 영상을 멈추고 공개(disclosure) 링크를 열었으며, 토끼굴 속으로 빠져들었습니다. 한 편의 논문에서 다섯 개의 CVE로, 다시 RFC로, 그리고 소스 코드로 이어졌습니다. 와이어 상의 단일 바이트가 정확히 왜 59바이트의 메모리를 고정할 수 있는지, 그리고 왜 이전에는 아무도 이 두 가지 트릭을 함께 연결하지 않았는지 완전히 이해할 때까지 멈추지 않았습니다.
그래서 이 저장소는 단순한 요약이 아닙니다. LaTeX로 처음부터 작성한, 타협 없는 완전한 심층 분석입니다. 어느 선생님도 이것을 하라고 시키지 않았습니다. 그저 손에서 놓을 수가 없었습니다.
다음 다섯 가지 주요 웹 서버 구현의 기본 설정에 모두 영향을 미칩니다:
| 구현체 | 증폭률 | 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
max_request_headers_kb를 우회하며 최대 5,700배 증폭됩니다.“최대 디코딩 헤더 크기”와 “최대 헤더 개수”는 서로 다른 두 가지 제한이며, 서버에는 둘 다 필요합니다.
| 제어 항목 | 방어 대상 |
|---|---|
| 최대 디코딩 헤더 크기 | 기존 HPACK 폭탄 |
| 최대 헤더 필드 개수(쿠키 크럼 포함) | 인덱스 참조 폭탄(이 공격) |
| 중단된 스트림 수명 상한 | 흐름 제어 메모리 고정 |
이 취약점은 다섯 개의 코드베이스를 동시에 훑어본 **AI(Codex)**에 의해 발견되었습니다. 이는 *“아무도 이음새를 소유하지 않는다”*는 새로운 부류의 구현 간 프로토콜 결함입니다.
2026년 6월 2일, Quang Luong, Jun Rong, Duc Phan(Calif Security Research)의 조정된 공개.
원본 논문: blog.calif.io/p/codex-discovered-a-hidden-http2-bomb
Zhicheng Wu
신후이 제1중학교, 2028년 졸업반
중국 광둥성
이 저작물은 CC BY 4.0에 따라 라이선스가 부여됩니다.
저작자 표시 조건 아래 자유롭게 공유하고 수정할 수 있습니다.
학술 및 방어 목적으로만 사용하시기 바랍니다.