← Back to Feed CACHED · 2026-07-13 02:11:00 · CACHE_KEY tenable:105486
tenable:105486 · CWE-121 · Disclosed 2017-12-19

ESXi 5

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A rusty lock on the vault door — the flaws are unglamorous, but the vault is a hypervisor from a decade ago

Tenable plugin 105486 rolls up VMSA-2017-0021 and VMSA-2018-0002 against ESXi 5.5, 6.0, and 6.5. The bundle covers four CVEs: CVE-2017-4940 (stored XSS in the ESXi Host Client), CVE-2017-4941 (stack overflow via an authenticated VNC session that yields code execution *inside* the guest VM — not a host escape), and CVE-2017-5715 / CVE-2017-5753 (Spectre v2 and v1 microcode/hypervisor mitigations). Fixes shipped in ESXi 6.5 Patch 02 (build 7526125), 6.0 U3e (build 7504637), and 5.5 U3g (build 7504623).

Vendor severity of MEDIUM is roughly fair *for the individual bugs* — none of these is a clean unauthenticated guest-to-host escape, and the Spectre pair is a side-channel mitigation, not an RCE. But the vendor label misses the real question: the affected products are all end-of-general-support. ESXi 5.5 EOL'd in September 2018, 6.0 in March 2020, 6.5 in October 2022. If plugin 105486 is firing in 2026, the finding you're chasing is not CVE-2017-4941 — it's *why do we still have ESXi 6.5 hosts in production*. That reframes it as HIGH.

"It's a hypervisor bug bundle on ESXi versions that are all EOL — the CVEs are stale, but the boxes running them are the real emergency."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land on an unsupported ESXi host

The plugin only trips on ESXi 5.5/6.0/6.5 below the specified builds. In 2026 that means the host has missed 8+ years of hypervisor patches, including the far scarier CVE-2020-3992 (OpenSLP RCE), CVE-2021-21974 (ESXiArgs ransomware vector), and the 2024 SLP/vpxd chains actively exploited by Scattered Spider and Akira. Reaching the host means having management-network access to the vSphere/ESXi ports (443, 902, 5988/5989).
Conditions required:
  • Management network access to the ESXi host
  • Host not upgraded past October 2022
Where this breaks in practice:
  • Well-run environments segment vMotion/mgmt vLANs off user networks
  • vCenter and ESXi mgmt typically behind jump host + MFA
Detection/coverage: Nessus authenticated ESXi checks; vCenter build inventory; any modern EDR-in-Guest that reports hypervisor build via VMware Tools
STEP 02

Abuse CVE-2017-4941 via VNC to code-exec inside a guest

A user with authenticated access to the VM's VNC console (via vSphere permissions or a raw VNC port left open on the VM's .vmx) can trigger the stack overflow and gain code execution *in the guest*. This is *not* an escape to the hypervisor — it's a way to compromise a VM you can already console to. Weaponized proof-of-concepts exist in the xairy/vmware-exploitation reference collection but are not point-and-click.
Conditions required:
  • RemoteDisplay.vnc.enabled = TRUE on target VM, or vSphere VNC console rights
  • Network reach to VNC port on the VM
Where this breaks in practice:
  • VNC on VMs is disabled by default
  • vSphere console access is normally gated by role-based access
  • Impact is contained to the VM — nothing new for someone who already has console rights
Detection/coverage: Config drift scanners flag RemoteDisplay.vnc.enabled; vCenter audit logs record console sessions
STEP 03

Abuse CVE-2017-4940 stored XSS in ESXi Host Client

An attacker with rights to inject JS into a field rendered by the ESXi Host Client (the HTML5 UI at https://<esxi>/ui/) can hijack another admin's browser session. Requires an admin to browse the poisoned page. Realistic only as a lateral-movement helper after a low-privilege ESXi account is already burned.
Conditions required:
  • Low-priv account on ESXi Host Client
  • Second admin browses affected UI element
Where this breaks in practice:
  • Host Client is not typically exposed beyond ops teams
  • Modern browsers/CSP reduce XSS payload utility
Detection/coverage: Web proxy egress logs; ESXi hostd logs for anomalous UI POSTs
STEP 04

Side-channel data leakage via CVE-2017-5715 / 5753 (Spectre)

Requires attacker-controlled code running in a guest VM on the same physical host as the target, and the ability to observe cache timing over long windows to leak kernel memory. Practically weaponized only in academic PoCs — never used at scale for cross-VM data theft in production ESXi.
Conditions required:
  • Co-tenant VM under attacker control
  • Long-running observation window
  • Un-microcoded CPU
Where this breaks in practice:
  • Modern CPUs and hypervisors ship microcode + IBPB/IBRS mitigations
  • Extremely slow data exfiltration, noisy in profilers
Detection/coverage: None practical at the SOC layer; rely on host patching
03 · Intelligence Metadata

The supporting signals.

CVE bundleCVE-2017-4940 (XSS), CVE-2017-4941 (VNC stack overflow → guest RCE), CVE-2017-5715 (Spectre v2), CVE-2017-5753 (Spectre v1)
Vendor advisoriesVMSA-2017-0021, VMSA-2018-0002
In-the-wild statusNone of the four CVEs in this bundle are on CISA KEV. The hosts themselves are frequently ransomware targets, but via *later* ESXi CVEs (CVE-2021-21974, CVE-2020-3992, CVE-2024-37085)
EPSSCVE-2017-4941 ~0.5%, CVE-2017-4940 ~0.4%, Spectre pair effectively noise (<0.2%). Individually low; collectively irrelevant given host EOL status
PoC availabilitySpectre PoCs are public and canonical. CVE-2017-4941 discussed in the xairy/vmware-exploitation reference set; no maintained Metasploit module
Affected buildsESXi 5.5 < build 7504623, 6.0 < 7504637, 6.5 < 7526125 — all three lines are EOL as of 2026
Fixed builds5.5 U3g (7504623), 6.0 U3e (7504637), 6.5 Patch 02 (7526125). Real fix in 2026 is to move to ESXi 7.0 U3 or 8.0 U2+
Exposure dataShodan shows ~2k publicly exposed ESXi 6.5 instances globally as of mid-2026; most compromises pivot through mgmt-net, not direct internet exposure
DisclosureVMSA-2017-0021 published 2017-12-19; VMSA-2018-0002 (Spectre) published 2018-01-04
ReporterNico Golde & Ralf-Philipp Weinmann (Comsecuris) credited for CVE-2017-4941; Google Project Zero for Spectre
04 · The Call

noisgate verdict.

Final Verdict
UPGRADED to HIGH (7.5/10)

The individual CVEs are unremarkable — authenticated VNC RCE-in-guest, XSS, and Spectre — but the plugin only fires against ESXi 5.5/6.0/6.5, which are all end-of-support hypervisors. The decisive factor is the role multiplier: an unsupported hypervisor is missing 8+ years of subsequent patches and is the canonical entry point for ESXiArgs/Akira/Scattered Spider ransomware campaigns.

HIGH That affected builds are EOL and no longer receive security updates
HIGH That none of the four bundled CVEs alone justifies more than MEDIUM
MEDIUM That the host is likely also vulnerable to unpatched post-2017 ESXi CVEs

Why this verdict

  • Role multiplier — hypervisor: ESXi is a canonical high-value-role component; a chain that ends in host compromise ends in *fleet* compromise (every guest, every snapshot, every datastore). The floor for a hypervisor finding is HIGH.
  • Vendor MEDIUM understates the deployment reality: the plugin's affected-version set is entirely EOL. Any host firing this in 2026 is also carrying CVE-2020-3992, CVE-2021-21974, CVE-2024-37085 — bugs that *are* KEV-listed and actively used by ransomware crews.
  • Individual CVE friction is real: CVE-2017-4941 needs authenticated VNC and only yields *in-guest* code exec; XSS needs a second admin to click; Spectre needs co-tenancy and is impractical. That's what keeps this from being CRITICAL on the bundle alone.
  • Not on KEV, EPSS is low: so this is not an emergency *because of these specific CVEs*. It is an emergency *because the box is unsupported*.

Why not higher?

None of the four CVEs is a clean unauthenticated guest-to-host escape, none are KEV-listed, and none have wormable public exploits. CRITICAL is reserved for hypervisor bugs where the chain provably lands host-code-exec from an unprivileged guest (e.g., CVE-2024-22252/22253).

Why not lower?

MEDIUM would be defensible if this plugin were firing against a *supported* build with the fix simply skipped. It is not — it fires only on EOL versions, and an EOL hypervisor is a fleet-scale liability regardless of the specific CVE list on the report.

05 · Compensating Control

What to do — in priority order.

  1. Isolate ESXi management network — Restrict TCP/443, /902, /5988-5989 on ESXi mgmt vmk interfaces to a dedicated jump-host subnet, enforce MFA on that jump host. Complete within 30 days per the noisgate HIGH mitigation SLA.
  2. Disable VNC on all VMs — Remove RemoteDisplay.vnc.enabled = TRUE and RemoteDisplay.vnc.port from every .vmx. This kills the CVE-2017-4941 vector entirely and is a hardening baseline anyway. Push via PowerCLI within 30 days.
  3. Enable ESXi Lockdown Mode (Strict) — Cuts off direct DCUI/SSH/Host Client access, forces all admin through vCenter with audit trail. Deploy across the fleet within the 30-day mitigation window.
  4. Plan migration off ESXi 5.5/6.0/6.5 — The only durable fix is upgrading to a supported line (7.0 U3 or 8.0 U2+). Land the migration plan inside the noisgate HIGH remediation SLA of ≤ 180 days.
  5. Snapshot + immutable backup of guest data — In case the host is already compromised by a later CVE, an offline immutable backup means ESXiArgs-style encryption is recoverable. Verify restore tests during the migration window.
What doesn't work
  • Guest-OS EDR alone — a hypervisor compromise sees under the guest kernel, so in-guest agents will not report the escape
  • Web Application Firewall in front of ESXi Host Client — the exploitation vectors (VNC, Spectre, XSS to an internal admin) don't traverse a WAF path
  • Microcode updates on the physical host — mitigate Spectre but do nothing for the VNC or XSS bugs in this bundle
  • Perimeter firewall rules — most exploitation of unsupported ESXi happens post-initial-access on the internal mgmt network, not from the internet
06 · Verification

Crowdsourced verification payload.

Run on an auditor workstation with PowerCLI 12+ installed and a vCenter read-only account. Invoke as: .\Check-VMSA-2017-0021.ps1 -vCenter vcsa.corp.local. Reports each ESXi host as VULNERABLE / PATCHED / UNKNOWN based on build number against the VMSA-2017-0021 / VMSA-2018-0002 fixed builds.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -Modules VMware.PowerCLI
# Check-VMSA-2017-0021.ps1
# Reports ESXi hosts vulnerable to VMSA-2017-0021 / VMSA-2018-0002 bundle (Tenable 105486)
param(
    [Parameter(Mandatory=$true)][string]$vCenter
)

# Fixed builds per VMware KB (see VMSA-2017-0021 / VMSA-2018-0002)
$fixedBuilds = @{
    '5.5.0' = 7504623
    '6.0.0' = 7504637
    '6.5.0' = 7526125
}

try {
    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false | Out-Null
    Connect-VIServer -Server $vCenter -ErrorAction Stop | Out-Null
} catch {
    Write-Host "UNKNOWN: cannot connect to $vCenter - $_"
    exit 2
}

$anyVuln = $false
foreach ($h in Get-VMHost) {
    $ver = $h.Version
    $build = [int]$h.Build
    if ($fixedBuilds.ContainsKey($ver)) {
        if ($build -lt $fixedBuilds[$ver]) {
            Write-Host ("VULNERABLE: {0} ESXi {1} build {2} (< fixed build {3}) - also EOL" -f $h.Name,$ver,$build,$fixedBuilds[$ver])
            $anyVuln = $true
        } else {
            Write-Host ("PATCHED (still EOL train): {0} ESXi {1} build {2}" -f $h.Name,$ver,$build)
        }
    } elseif ($ver -match '^(7|8)\.') {
        Write-Host ("PATCHED (supported line): {0} ESXi {1} build {2}" -f $h.Name,$ver,$build)
    } else {
        Write-Host ("UNKNOWN: {0} ESXi {1} build {2}" -f $h.Name,$ver,$build)
    }
}

Disconnect-VIServer -Confirm:$false -Force | Out-Null
if ($anyVuln) { exit 1 } else { exit 0 }
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: pull an inventory of every ESXi host on 5.5/6.0/6.5 — that list is your real target, not the CVE IDs on the Tenable finding. Per the noisgate mitigation SLA for HIGH (≤ 30 days): put the ESXi management network behind a jump host with MFA, disable VNC on every guest, and turn on Lockdown Mode (Strict). Per the noisgate remediation SLA for HIGH (≤ 180 days): plan and execute migration to a supported line — ESXi 7.0 U3 or 8.0 U2+ — because the 105486 finding is a symptom, and the *actual* risk is that these hosts are also carrying KEV-listed post-2017 ESXi bugs used daily by ransomware crews. If any of these hosts are internet-exposed on 443/902, treat that subset as immediate (patch or take offline within hours) regardless of the bundle severity.

Sources

  1. Tenable plugin 105486
  2. VMSA-2017-0021 advisory
  3. VMSA-2018-0002 (Spectre) advisory
  4. NVD CVE-2017-4941
  5. NVD CVE-2017-4940
  6. xairy/vmware-exploitation reference collection
  7. VMware Product Lifecycle Matrix
  8. CISA Known Exploited Vulnerabilities Catalog
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.