
Selbst entwickelter CVE-2021-21974-POC für den ESXi-Stack-Overflow. Unterstützt nur die im Projekt angegebenen Ziele und Umgebungen; für Lern- und Forschungszwecke.
VMware ESXi OpenSLP Heap Overflow Remote Code Execution PoC
Autor: Aiyakami
CVE-2021-21974 ist eine Heap-Overflow-Schwachstelle im OpenSLP-Dienst von VMware ESXi, die es einem Angreifer ermöglicht, ohne Authentifizierung speziell präparierte Pakete über das Netzwerk an den SLP-Dienst (Standardport 427) eines Ziel-ESXi-Hosts zu senden und so eine Remotecodeausführung (RCE) zu erreichen.
Dieses Repository enthält einen einzelnen Python-PoC, der in einer echten ESXi 6.7-Umgebung stabil reproduziert werden kann und ausschließlich netzwerkbasiert ausgeführt wird – ohne lokale Anmeldeinformationen oder SSH-Zugriff auf das Ziel.
| Element | Information |
|---|---|
| Zielsystem | VMware ESXi 6.7.0 Update03 |
| Build-Nummer | 14320388 |
| Angreifbarer Dienst | OpenSLP (slpd), Port 427 |
| Erfolgsrate (Tests) | 100% |
Offizielles VMware-VMvisor-Installer 6.7.0 update03 build-14320388 ISO:
Dieses Image ist das ursprüngliche Installationsimage der oben genannten Testumgebung und reproduziert zu 100% die Erfolgsrate dieses PoC.
Die folgenden zwei Screenshots zeigen die tatsächliche Ausführung dieses PoC auf ESXi 6.7 build-14320388:


# Der Ziel-ESXi-Host muss den slpd-Dienst ausführen (Standardport 427)
python CVE-2021-21974.py
Das Skript gibt beim Start den Autorennamen aus und führt dann die vollständige Exploit-Kette aus:
Stage 1: Informationsleck → beliebige Adresse lesen → libc-Basisadresse leaken → DB-Puffer lokalisieren → __free_hook auf system überschreiben → SrvDeReg löst Befehlsausführung aus.
Der Standardbefehl (COMMAND) lautet:
echo PWNED_BY_CVE_2021_21974>/tmp/p
Bei Erfolg erscheint PWNED_BY_CVE_2021_21974 in der Datei /tmp/p auf dem Zielhost.
Hinweis: Dieser PoC basiert auf festen Heap-Layout-Parametern und ist auf die slpd/glibc-Version des Ziel-ESXi 6.7 build-14320388 angewiesen. Bei anderen Umgebungen müssen die Parameter fd / size / pacing entsprechend angepasst werden.
Dieses Projekt dient ausschließlich der autorisierten Sicherheitsforschung sowie CTF-/AWD-Schulungsszenarien und wird in isolierten Sandbox-Umgebungen validiert. Es darf nicht gegen unbefugte reale Systeme eingesetzt werden. Der Benutzer trägt die alleinige rechtliche Verantwortung für jegliche daraus resultierenden Konsequenzen.