本仓库包含一个概念验证(PoC)Python 脚本,用于演示 Envoy 中因大量 CONTINUATION 帧导致的 CPU 耗尽漏洞。作者:blackmagic 2024
Envoy 是一款面向现代云原生应用设计的云原生、开源边缘和服务代理。然而,1.29.3、1.28.2、1.27.4 和 1.26.8 之前的版本容易受到大量 CONTINUATION 帧导致的 CPU 耗尽漏洞影响。Envoy 中的 HTTP/2 编解码器允许客户端在超出 Envoy 的 header map 限制后仍然发送无限数量的 CONTINUATION 帧。此 PoC 脚本发送大量带有载荷的 CONTINUATION 帧,以模拟该漏洞并耗尽目标 Envoy 服务器的 CPU 资源。
git clone https://github.com/blackmagic2023/Envoy-CPU-Exhaustion-Vulnerability-PoC.git
cd Envoy-CPU-Exhaustion-Vulnerability-PoC
根据你的测试环境,按需修改脚本,包括 TARGET_HOST、TARGET_PORT、NUM_CONTINUATION_FRAMES 和 CONTINUATION_PAYLOAD 变量。
运行 Python 脚本:
python3 envoyPOC.py
此 PoC 脚本仅供教育和研究目的使用。请勿将此脚本用于任何非法活动。在未经授权的情况下对生产环境 Envoy 服务器运行此脚本可能是违法且不道德的。请负责任地使用它,并且仅在你拥有或明确获得测试许可的系统上使用。