← Back to Feed CACHED · 2026-07-10 09:36:49 · CACHE_KEY tenable:88906
tenable:88906 · CWE-119 · Disclosed 2016-02-16

ESXi 5

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

A ten-year-old poisoned-DNS bug on hypervisors that Broadcom stopped supporting years ago

CVE-2015-7547 is the classic glibc getaddrinfo() stack buffer overflow in libresolv. When an application performs an A/AAAA lookup via AF_UNSPEC, glibc allocates a 2048-byte alloca buffer for the DNS response, but a specially crafted reply (over UDP or TCP) can write up to 65535 bytes into it — potentially leading to RCE as whatever process made the DNS query. Nessus plugin 88906 flags ESXi 5.5 builds < 3568722 and ESXi 6.0 builds < 3568940, which shipped a vulnerable glibc inside the userworld. Fixes landed in VMSA-2016-0002 on 2016-02-23.

Vendor severity of MEDIUM (CVSS v2 6.8) is a fair reflection of ESXi-specific reality even though the raw glibc CVE carries a CVSS v3 9.8. The exposed attack surface on a hypervisor is narrow — ESXi does relatively few outbound DNS lookups, and hitting the flaw requires either an attacker-controlled authoritative DNS server in the resolution path or on-path MitM between ESXi and its resolver. Where the score understates the risk is deployment role: this is a hypervisor, and code execution in a userworld process on ESXi is a stepping stone toward guest escape or vCenter pivot. But since both ESXi 5.5 and 6.0 have been end-of-general-support since 2018 and 2022 respectively, the real story is not the glibc bug — it's the unsupported hypervisor underneath it.

"A decade-old glibc DNS RCE on ESXi 5.5/6.0 — both hypervisor lines are EOL. If you still run these, glibc is not your top problem."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Position on the DNS response path

The attacker must sit somewhere between the ESXi host and the DNS answer. Practical options: (a) get the host to resolve a name under an attacker-controlled authoritative zone, (b) run a rogue resolver, or (c) MitM the UDP/53 or TCP/53 flow between ESXi and its configured resolver.
Conditions required:
  • ESXi is configured to use a resolver reachable from an attacker-influenced path
  • or attacker controls an authoritative zone the host queries
Where this breaks in practice:
  • Hypervisors typically use internal resolvers on management VLANs
  • ESXi does very few outbound name lookups in normal operation
Detection/coverage: Nessus 88906 is a remote build-number check, not a payload check; passive DNS anomaly detection would catch large fragmented responses
STEP 02

Trigger dual A/AAAA lookup via getaddrinfo(AF_UNSPEC)

A vulnerable ESXi userworld process calls getaddrinfo() with AF_UNSPEC, causing glibc to issue parallel A and AAAA queries reusing the same 2048-byte stack buffer. The send_dg/send_vc paths in libresolv mis-track buffer size after the second response, enabling the overflow.
Conditions required:
  • An ESXi component (vpxa, hostd, NTP, HTTP client) issues an outbound lookup
  • Attacker-controlled response reaches the resolver
Where this breaks in practice:
  • Not every ESXi service uses AF_UNSPEC
  • Public PoCs (Google, exploit-db 39454) trigger crash reliably but full RCE required custom work
Detection/coverage: Oversized DNS responses (>2KB) to management-plane hosts are trivially anomalous
STEP 03

Overflow the alloca buffer and pivot control flow

The attacker sends a first small UDP response, then a larger crafted response — up to 65535 bytes — that overruns the stack frame of the calling process. On ESXi 5.5/6.0 the userworld lacks the modern hardening you'd get on current Linux, so ROP into a memory-mapped region is feasible but non-trivial.
Conditions required:
  • Reliable heap/stack layout knowledge for the ESXi build
  • ASLR/NX bypass tuned per build
Where this breaks in practice:
  • No public weaponized ESXi-specific exploit ever emerged
  • Every ESXi patch level shifts offsets
Detection/coverage: EDR does not run on ESXi; hypervisor logging (vmkernel.log) may show userworld crash restarts
STEP 04

Code execution in an ESXi userworld → hypervisor pivot

RCE lands as the compromised userworld process. From there the attacker needs a second bug — a userworld-to-VMkernel escalation or credential theft from hostd — to reach the management plane, other tenants, or vCenter. The glibc bug alone does not equal fleet compromise.
Conditions required:
  • A viable local privilege escalation on the same ESXi build
  • or usable creds/tokens on disk
Where this breaks in practice:
  • Legacy ESXi builds have known LPE bugs, so chaining is realistic in labs but no in-the-wild campaign has been reported
Detection/coverage: vCenter alarm on host disconnect / hostd restart
03 · Intelligence Metadata

The supporting signals.

CVECVE-2015-7547 — glibc getaddrinfo stack-based buffer overflow
AdvisoryVMSA-2016-0002 (2016-02-23) — fixed ESXi 5.5 build 3568722 / 6.0 build 3568940
CVSSNVD CVSS v3 9.8 CRITICAL (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H); VMware assessed CVSS v2 6.8 MEDIUM in the ESXi context
CWECWE-119 — Improper Restriction of Operations within the Bounds of a Memory Buffer
KEV statusNot listed in CISA KEV
EPSSLow — historical EPSS around 0.5–1% (well under the 50th percentile), reflecting no active mass exploitation despite a decade of exposure
PoC availabilityPublic crash PoC at exploit-db 39454; Google Security Team analysis; no public weaponized ESXi-targeted exploit
In-the-wildNo known campaign specifically against ESXi via this bug; ESXi ransomware crews (Akira, Play, BlackCat) have overwhelmingly used OpenSLP (CVE-2021-21974), vSphere Client (CVE-2021-21985), and ESXiArgs paths — not glibc
AffectedESXi 5.5 builds < 3568722 and ESXi 6.0 builds < 3568940 (both product lines EOGS: 5.5 in 2018-09-19, 6.0 in 2022-03-12)
Shodan/Censys exposureBroad ESXi management-plane exposure remains (~40k+ hosts on Shodan) but the DNS attack surface is not internet-reachable; management network access is required
Reported byGoogle Security Team and Red Hat glibc maintainers (Fermin J. Serna, Kevin Stadmeyer, Carlos O'Donell, Florian Weimer)
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to MEDIUM (5.4/10)

Reachability of the vulnerable DNS path from an untrusted attacker position is the single most decisive factor: ESXi does not accept unsolicited DNS responses and only queries a management-plane resolver, so exploitation requires either MitM on that segment or a compromised internal DNS — both post-initial-access. That reduces this from a headline glibc CVSS 9.8 to a MEDIUM in ESXi's specific deployment role.

HIGH vendor patch and affected-build data
HIGH absence of KEV / in-the-wild ESXi exploitation
MEDIUM installed-base share still running EOGS 5.5/6.0 in 2026

Why this verdict

  • Attack path requires DNS injection position, not internet reachability — attacker must control an authoritative zone the host queries or MitM the resolver link, which implies post-initial-access on the management network.
  • No KEV listing, no known ESXi campaign in the decade since disclosure; ransomware operators targeting ESXi consistently pick OpenSLP and vSphere Client bugs instead because they're pre-auth network-reachable.
  • Role multiplier (hypervisor): the affected component IS a hypervisor userworld — canonically high-value. If the chain lands, blast radius reaches guest VMs and vCenter trust. This is why the verdict does NOT drop below MEDIUM despite the friction.
  • Role multiplier ceiling check: to reach fleet-scale impact the attacker still needs a second bug (userworld → VMkernel LPE, or hostd credential theft). The glibc bug alone is a foothold, not a takeover — so the floor is HIGH-adjacent, and MEDIUM sits just below because chain success rates are historically zero.
  • Both affected product lines are end-of-general-support (5.5 EOGS 2018, 6.0 EOGS 2022). Any host still exposed has bigger problems than glibc, and the correct action is decommission, not just patch.

Why not higher?

No sustained exploitation observed, no weaponized ESXi payload public, and the vulnerable DNS response path is not directly internet-reachable. Ransomware crews who own ESXi as a target class have not touched this bug in ten years — the empirical evidence for HIGH just isn't there.

Why not lower?

The affected component is a hypervisor userworld, so if the chain does land, blast radius touches guest tenancy and vCenter trust. That role weight prevents this from being LOW/IGNORE even though friction is high. A crashed hostd/vpxa also creates real availability impact on production clusters.

05 · Compensating Control

What to do — in priority order.

  1. Decommission ESXi 5.5 and 6.0 hosts — Both lines are past Broadcom's end of general support (5.5 in 2018, 6.0 in 2022) and receive no security fixes for the dozens of vulnerabilities disclosed since. Migrate to 7.0U3 or 8.0U3 as the primary control — noisgate MEDIUM has no mitigation SLA, but treat the EOGS status itself as HIGH: begin migration planning within 30 days.
  2. Segment ESXi management network from user/DNS attack surface — Put vmk0 (management) on a dedicated VLAN with an authoritative internal resolver you control. Block outbound UDP/TCP 53 from management VLANs to anything except that resolver. Apply within the 365-day noisgate remediation window; do it sooner because it mitigates dozens of other ESXi CVEs simultaneously.
  3. Apply VMSA-2016-0002 patches now if you must keep the hosts — Bring 5.5 to build 3568722+ and 6.0 to build 3568940+. Patches are ten years old and stable — no change-control excuse holds up here.
  4. Pin ESXi DNS to a hardened internal resolver with DNS response size clamping — Configure a BIND/Unbound resolver to drop DNS responses larger than 1232 bytes toward management-plane clients; this defeats the oversized-response condition required to overflow the 2048-byte alloca buffer.
  5. Alert on ESXi hostd/vpxa userworld crashes — Forward vmkernel.log and hostd.log to your SIEM and alarm on unexpected userworld restarts — the exploit's most likely observable failure mode is a crash before RCE.
What doesn't work
  • EDR / kernel-mode agents on the hypervisor — ESXi does not run standard EDR; agents live in guests, not the host.
  • Perimeter WAF or IDS — the DNS response path is not internet-reachable in any sane deployment; the risk is inside the management VLAN.
  • Guest-OS glibc patching — the vulnerable glibc here is inside the ESXi userworld, not the VM. Patching Linux VMs does nothing for this plugin.
  • DNSSEC alone — the overflow triggers on response parsing before signature validation completes on affected code paths.
06 · Verification

Crowdsourced verification payload.

Run this on an auditor workstation with SSH access to the ESXi host (root or an admin role with shell). Invoke as ./check_88906.sh esxi-host.example.com — it SSHes in, reads vmware -v and the build, and compares against the fixed builds from VMSA-2016-0002. Requires SSH enabled on the target (Host → Services → SSH).

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate: CVE-2015-7547 / VMSA-2016-0002 / Nessus 88906 check
# Usage: ./check_88906.sh <esxi-host>
set -u

HOST="${1:-}"
if [ -z "$HOST" ]; then
  echo "Usage: $0 <esxi-host>" >&2
  exit 2
fi

SSH_OPTS="-o StrictHostKeyChecking=accept-new -o ConnectTimeout=10"
REMOTE=$(ssh $SSH_OPTS "root@${HOST}" 'vmware -v; vmware -l' 2>/dev/null) || {
  echo "UNKNOWN: cannot SSH to ${HOST}"; exit 3;
}

VER=$(echo "$REMOTE" | grep -Eo 'ESXi [0-9]+\.[0-9]+' | head -1 | awk '{print $2}')
BUILD=$(echo "$REMOTE" | grep -Eo 'build-[0-9]+' | head -1 | cut -d- -f2)

if [ -z "$VER" ] || [ -z "$BUILD" ]; then
  echo "UNKNOWN: could not parse version/build from '${REMOTE}'"; exit 3
fi

echo "Host ${HOST}: ESXi ${VER} build ${BUILD}"

case "$VER" in
  5.5)
    FIXED=3568722
    ;;
  6.0)
    FIXED=3568940
    ;;
  *)
    # 6.5+ shipped a non-vulnerable glibc; also note EOGS status separately
    echo "PATCHED: ESXi ${VER} not affected by CVE-2015-7547"
    exit 0
    ;;
esac

if [ "$BUILD" -lt "$FIXED" ]; then
  echo "VULNERABLE: build ${BUILD} < fixed ${FIXED} for ESXi ${VER}"
  echo "NOTE: ESXi ${VER} is end-of-general-support — decommission, do not just patch."
  exit 1
else
  echo "PATCHED: build ${BUILD} >= ${FIXED} for ESXi ${VER}"
  echo "NOTE: ESXi ${VER} is still end-of-general-support — plan migration to 7.0U3/8.0U3."
  exit 0
fi
07 · Bottom Line

If you remember one thing.

TL;DR
Verdict is MEDIUM at reassessed 5.4 — the noisgate mitigation SLA does not apply at this bucket, so go straight to the 365-day noisgate remediation window for the glibc CVE itself. But do not treat that as your real deadline: any host that trips plugin 88906 is running ESXi 5.5 or 6.0, both of which are end-of-general-support and carry a decade of unpatched hypervisor bugs far worse than this one. Monday morning: pull the plugin-88906 host list from Tenable, tag every asset as EOGS, and open migration tickets to ESXi 7.0U3 or 8.0U3 with a 90-day owner-assigned deadline. In the interim, isolate ESXi management VLANs behind a hardened internal resolver, block outbound DNS from vmk0 to anything except that resolver, and alert on hostd/vpxa userworld crashes.

Sources

  1. Tenable plugin 88906
  2. VMware VMSA-2016-0002
  3. NVD — CVE-2015-7547
  4. Google Security Blog — glibc getaddrinfo overflow
  5. Red Hat vulnerability writeup
  6. Exploit-DB 39454 (PoC)
  7. Cloudflare — A tale of a DNS exploit
  8. Rapid7 VulnDB — VMSA-2016-0002
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.