The front-desk phone on your hypervisor takes a call and hands the caller the datacenter keys
CVE-2015-2342 is a *double-free* in SLPDProcessMessage() inside the OpenSLP daemon that ships enabled on ESXi 5.5 and listens on TCP/UDP 427. An unauthenticated remote attacker who can reach the SLP port sends a crafted Service Location Protocol message and gets code execution in the context of the OpenSLP process on the hypervisor — a position from which VM escape, datastore encryption, and lateral pivot are all trivially reachable. Affected: ESXi 5.5 prior to build 3029944 (patch ESXi550-201509101-SG, October 2015); sibling plugins 86945/86946 cover ESXi 5.0/5.1. Related CVEs in the same VMSA: CVE-2015-1047, CVE-2015-5177.
Vendor severity of CRITICAL is *correct*, and if anything understated for 2026. The OpenSLP-on-ESXi class was later mass-weaponized as CVE-2021-21974 by the ESXiArgs ransomware campaign in Feb 2023, which encrypted thousands of internet-exposed ESXi hosts. Any host that still fires plugin 86947 today is running an end-of-general-support hypervisor (ESXi 5.5 EOGS 2018, EOTG 2020) — so this finding is really a canary for *every* unpatched ESXi CVE from the last decade, not just this one.
5 steps from start to impact.
Reach TCP/UDP 427 on the ESXi management interface
-p 427 or SLP-aware scanners fingerprint the daemon in seconds.- Network path to port 427/tcp or 427/udp on ESXi mgmt NIC
- SLP daemon (
slpd) enabled — default on 5.5
- Well-run shops isolate the ESXi mgmt VLAN behind a jump host
- SLP was disabled by default in later ESXi releases after ESXiArgs; some 5.5 shops turned it off manually
SLP on 427; Tenable plugin 86947 fires on the version banner; GreyNoise tracks SLP probes as a category.Send crafted SLP message triggering double-free in SLPDProcessMessage()
SLPDProcessMessage() down a path where the same heap chunk is freed twice. Public PoCs for the sibling CVE-2021-21974 (Johnny Yu / straight_blast walkthrough) show the exact heap-massage technique; the 2015 bug is the same code path, older heap. No auth required.- Ability to send raw UDP/TCP to 427
- Knowledge of ESXi 5.5 heap layout (documented publicly)
- Exploit is heap-shape dependent; some attempts crash
slpdinstead of executing slpdrespawns, so noisy attempts leave forensics
ET EXPLOIT VMware ESXi OpenSLP).Gain code execution as slpd on the hypervisor
slpd process on the VMkernel. From here the attacker reads /etc/vmware/, enumerates datastores via vim-cmd, and has the file-system position needed to drop a payload or manipulate VM configs. This is the ESXiArgs playbook.- Successful heap corruption from step 2
- ESXi's userworld sandboxing limits some syscalls but does not stop file access to datastores
hostd.log, shell.log) captures follow-on esxcli/vim-cmd but only if log forwarding is configured.Encrypt VMDKs or deploy a persistent implant
vim-cmd vmsvc/power.off), and encrypts .vmdk, .vmx, .nvram files — the ESXiArgs pattern. Alternatively, drop a rogue VIB with esxcli software vib install --no-sig-check for persistence surviving reboot.- Root-equivalent context on the hypervisor
- Backup immutability (Veeam hardened repo, S3 Object Lock) blunts the ransom leverage — but does nothing to prevent the encryption event itself
.args/.encrypted extension bloom in datastores; VM mass power-off events in vCenter.Pivot laterally via stolen vCenter creds / management LAN
vpxd-cached credentials, dumps VM memory to extract domain secrets, or mounts a running DC's VMDK offline to steal NTDS.dit.- Adjacent management-plane services with weak segmentation
- Tiered admin models with dedicated vCenter accounts + PAM checkout limit reuse
The supporting signals.
| CVE | CVE-2015-2342 (primary); companions CVE-2015-1047, CVE-2015-5177 |
|---|---|
| CWE | CWE-415 Double Free |
| Vendor advisory | VMSA-2015-0007 (VMware, 2015-10-01) |
| In-the-wild | *This CVE*: no confirmed mass-exploit campaign. *Class*: OpenSLP-on-ESXi weaponized as CVE-2021-21974 by ESXiArgs ransomware, Feb 2023, thousands of hosts encrypted |
| KEV status | CVE-2015-2342 not in CISA KEV; sibling CVE-2021-21974 added 2023-02-08 |
| EPSS | Historically low percentile (<1%) — reflects age, not exploitability; sibling 21974 sits >95th |
| PoC | Direct PoC for 2015-2342 not public; Johnny Yu (@straight_blast) published a full walkthrough for CVE-2021-21974 exploiting the same OpenSLP code path |
| CVSSv2 vector | AV:N/AC:L/Au:N/C:C/I:C/A:C = 10.0 (unauthenticated, network, full compromise) |
| Affected build | ESXi 5.5 < build 3029944; fix ESXi550-201509101-SG (Oct 2015) |
| Support status | ESXi 5.5 end of general support 2018-09-19, end of technical guidance 2020-09-19 — no vendor support in 2026 |
| Exposure | Shodan/Censys still index a few thousand internet-exposed ESXi hosts with port 427 open; post-ESXiArgs the majority disabled SLP but a long tail remains |
noisgate verdict.
The affected component is a hypervisor — the canonical high-value role — and the flaw is *unauthenticated* remote code execution reachable on a default-enabled service port, so the deployment-role blast radius floor is CRITICAL by hard rule. Compounding the call: any host still detecting this in 2026 is running an EOL ESXi 5.5 build with a decade of unpatched criticals stacked behind it.
Why this verdict
- Role multiplier — hypervisor: Chain succeeds on ESXi mgmt interface; blast radius is fleet-level (every VM on the host, plus datastore-adjacent VMs). 100% of installs of this component ARE the high-value role — the bug lives inside the hypervisor itself. CRITICAL floor engaged.
- Unauthenticated + network-reachable: No credentials, no user interaction, single UDP/TCP packet class. This is the exact profile that ransomware crews automate.
- Class already mass-weaponized: ESXiArgs proved the OpenSLP-on-ESXi attack surface is industrial-grade; the 2015 bug is the same code with an older heap.
- EOL platform amplifier: ESXi 5.5 has no vendor support since 2020. This finding is a proxy indicator for dozens of unpatched criticals on the same host — you cannot triage it in isolation.
- Friction that does exist — SLP-disable and mgmt segmentation: Shops that disabled
slpdor wall-off the mgmt VLAN raise the bar, but neither is universal and neither justifies dropping below the hypervisor CRITICAL floor per the hard rule.
Why not higher?
Already at the top of the severity ladder. The only reason the reassessed score is 9.8 rather than 10.0 is that the SLP daemon is disable-able and a subset of hardened shops have done so, which slightly narrows the exploitable population versus a flaw in a mandatory hypervisor service.
Why not lower?
Downgrading a pre-auth RCE in a hypervisor would violate the deployment-role floor. Even if this specific 2015 CVE lacks a widely circulated PoC, (a) the code path was later mass-exploited via CVE-2021-21974 and (b) any host on which the plugin fires is by definition running an unsupported ESXi 5.5 build — the *host*, not just the CVE, is critical debt.
What to do — in priority order.
- Disable the OpenSLP daemon on every ESXi host — Ship the KB76372 procedure:
esxcli system slp set --enable false(or/etc/init.d/slpd stop+chkconfig slpd offon 5.5) and confirmesxcli network firewall ruleset set -r CIMSLP -e false. Deploy across the estate within 3 days per the noisgate mitigation SLA for CRITICAL. - Block TCP/UDP 427 at the segment boundary of the ESXi mgmt VLAN — Northbound ACL on the ToR/firewall closing 427 in both directions to/from the mgmt VLAN. Belt-and-braces with the daemon disable; if a host is re-imaged or slpd is re-enabled the ACL still holds. Same 3-day mitigation window.
- Move all ESXi 5.5 workloads onto a supported version — 5.5 → 6.7 → 7.0/8.0 upgrade path; if hardware is incompatible, evacuate VMs to supported hosts. Target completion within 90 days per the noisgate remediation SLA — this is the only real fix, patching a 2015 build leaves you exposed to everything shipped after.
- Verify vCenter and backup credentials are unique per host tier — If a compromised 5.5 host has cached vCenter admin creds, one RCE becomes fleet takeover. Rotate any credential ever entered on a 5.5 host and enforce tiered vCenter accounts with PAM checkout.
- Confirm backup immutability for VM data — Veeam hardened repository, S3 Object Lock, or tape airgap — the ESXiArgs ransom pattern is what you are actually defending against here. Should already exist; audit within the same 3-day window.
- Host-based EDR on the *guest* VMs — the compromise is on the hypervisor, guest agents are blind to it and can be terminated from the host
- Applying the 2015 patch to ESXi 5.5 and stopping — 5.5 has been out of support since 2020; you are still exposed to CVE-2019-5544, CVE-2020-3992, CVE-2021-21974, and CVE-2023-20867 among others
- Web Application Firewalls — SLP is not HTTP; a WAF sees nothing on port 427
- MFA on vSphere Client — the OpenSLP RCE bypasses the auth plane entirely
- Perimeter firewall alone if the mgmt VLAN is flat internally — a foothold on any workstation reaches port 427
Crowdsourced verification payload.
Run on the ESXi host itself via SSH as root, or from an auditor workstation with SSH key access — e.g. ssh [email protected] 'bash -s' < check_vmsa_2015_0007.sh. Requires read access to vmware -v, esxcli system version get, and esxcli system slp (5.5 build). Exits 2 = VULNERABLE, 0 = PATCHED, 1 = UNKNOWN.
#!/bin/sh
# noisgate: VMSA-2015-0007 / CVE-2015-2342 check for ESXi 5.5
# Target: ESXi shell. Run as root.
set -u
VER=$(vmware -v 2>/dev/null)
BUILD=$(esxcli system version get 2>/dev/null | awk -F': ' '/Build/ {print $2}')
PRODUCT=$(esxcli system version get 2>/dev/null | awk -F': ' '/Version/ {print $2}')
if [ -z "$BUILD" ] || [ -z "$PRODUCT" ]; then
echo "UNKNOWN: unable to read ESXi version/build"
exit 1
fi
echo "Detected: $VER (Version $PRODUCT, Build $BUILD)"
# Only ESXi 5.5 is in scope for this plugin; other majors covered by 86945/86946 + later plugins
case "$PRODUCT" in
5.5.*)
FIXED_BUILD=3029944
if [ "$BUILD" -lt "$FIXED_BUILD" ] 2>/dev/null; then
# Also check SLP daemon status as compensating control indicator
SLP=$(esxcli network firewall ruleset list 2>/dev/null | awk '/CIMSLP/ {print $2}')
SLPD=$(/etc/init.d/slpd status 2>/dev/null | head -1)
echo "VULNERABLE: ESXi 5.5 build $BUILD < $FIXED_BUILD (VMSA-2015-0007 / CVE-2015-2342)"
echo " SLP firewall ruleset: ${SLP:-unknown}"
echo " slpd status: ${SLPD:-unknown}"
echo " Note: ESXi 5.5 reached end of technical guidance 2020-09-19 — upgrade, do not just patch."
exit 2
else
echo "PATCHED: ESXi 5.5 build $BUILD >= $FIXED_BUILD"
echo " WARNING: 5.5 is EOL; upgrade to a supported major regardless."
exit 0
fi
;;
*)
echo "UNKNOWN: host is $PRODUCT, not ESXi 5.5 — use sibling plugin/script for this major"
exit 1
;;
esac
If you remember one thing.
slpd, close 427/tcp+udp at the mgmt VLAN boundary, and rotate any credential ever cached on a 5.5 host; (3) within 90 days — the noisgate remediation SLA — evacuate all VMs to a supported ESXi major (7.0/8.0) and decommission the 5.5 hosts, because patching a 2015 build leaves you exposed to CVE-2019-5544, CVE-2020-3992, CVE-2021-21974 (ESXiArgs) and CVE-2023-20867 among others. If any of these hosts are internet-reachable on 427, mitigate today, not in three days.Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.