VMware ESXi OpenSLP 堆溢出远程代码执行 PoC
Author: Aiyakami
CVE-2021-21974 是 VMware ESXi 中 OpenSLP 服务存在的堆溢出漏洞,攻击者可在未认证的情况下通过网络向目标 ESXi 主机的 SLP 服务(默认端口 427)发送特制数据包,实现远程代码执行(RCE)。
本仓库提供一份可在真实 ESXi 6.7 环境上稳定复现的单文件 Python PoC,纯网络路径打穿,无需目标本地凭据或 SSH 访问即可触发命令执行。
| 项目 | 信息 |
|---|---|
| 目标系统 | VMware ESXi 6.7.0 Update03 |
| Build 号 | 14320388 |
| 漏洞服务 | OpenSLP (slpd),端口 427 |
| 测试成功率 | 100% |
官方 VMware-VMvisor-Installer 6.7.0 update03 build-14320388 ISO:
该镜像为上述测试环境所用原始安装镜像,可完整复现本 PoC 的 100% 成功率。
以下两张截图为本 PoC 在 ESXi 6.7 build-14320388 上的实际运行结果:


# 目标 ESXi 主机需运行 slpd 服务(默认 427 端口)
python CVE-2021-21974.py
脚本运行时会打印作者署名,随后执行完整利用链:
stage1 信息泄露 → 任意地址读 → libc 基址泄露 → DB 缓冲区定位 → __free_hook 改写为 system → SrvDeReg 触发命令执行。
默认 COMMAND 为:
echo PWNED_BY_CVE_2021_21974>/tmp/p
成功后可在目标主机 /tmp/p 中看到 PWNED_BY_CVE_2021_21974。
注:本 PoC 基于固定堆布局参数,依赖目标 ESXi 6.7 build-14320388 的 slpd / glibc 版本。换环境时需相应调整 fd / size / pacing 参数。
本项目仅用于授权的安全研究与 CTF / AWD 教学场景,在隔离沙箱环境中验证。请勿用于未授权的真实系统。使用者自行承担一切由此产生的法律责任。