Workflow

vCenter plugin RCE (CVE-2021-21972)

Flag VMware vCenter hosts for CVE-2021-21972 by reading version and build from GET /sdk. Floors 6.5 U3n / 6.7 U3l / 7.0 U1c. No plugin upload.

100%

Notes on this workflow

CVE-2021-21972 — VMware vCenter RCE

What this checks: whether a VMware vCenter host runs a version affected by unauth vSphere Client plugin file-upload RCE. Read-only: it fingerprints VMware vCenter and reads the version, no exploitation.

3. Detection — reads the VMware vCenter version from the version exposed at /sdk, compares to 6.5 line: 6.5 U3n (6.5.0 build-17590285); 6.7 line: 6.7 U3l (6.7.0 build-17138064); 7.0 line: 7.0 U1c (7.0.1 build-17327517). Flags vulnerable on an affected build. No exploitation.

1. Target List — paste your VMware vCenter URLs here, one per line (e.g. https://host.example.com).

Overview

This workflow finds VMware vCenter Server and sorts each host by whether its version and build fall below the CVE-2021-21972 floors in the graph. CVE-2021-21972 is remote code execution in the vSphere Client (HTML5) through a plugin upload path. This check never hits a plugin URL and never uploads a file. Give it hostnames, IP addresses, or URLs you are authorised to test. The workflow GETs /sdk only, fingerprints vCenter from markers in that response, parses the VMware vCenter Server version and build- number, and compares the tuple to the 6.5 U3n, 6.7 U3l, and 7.0 U1c floors. Every host comes back affected or not, so a fleet advisory becomes an evidenced list for exposure management. There is no plugin file-upload and no confirm step.

Run it on a schedule when management planes change. A rebuilt VCSA that landed on an older 6.7 build is the reason the same fingerprint stays useful.

Pipeline

  1. Read the target list. Hosts, URLs, or ranges, one per line, become the scope.
  2. GET /sdk on each host and fingerprint vCenter from response markers such as VMware vCenter Server, vim.ServiceInstance, and build-.
  3. Parse the version and build string and compare the tuple to the CVE-2021-21972 floors in the graph (6.5 U3n, 6.7 U3l, 7.0 U1c).
  4. Collect the per-host rows: product match, version, vulnerable flag, and any fetch error.
  5. Emit the summary counts: hosts checked, product hits, vulnerable, and errors.

Inputs

  • Target scope. Hostnames, IP addresses, CIDR ranges, or URLs, one per line. Full URLs and host:port entries work too, since the workflow normalizes each into a bare host. Point it at scope you are authorised to test.

Outputs

  • results.jsonl. One row per host: URL, whether vCenter was detected, the version read, the vulnerable flag, and detail text.
  • findings.jsonl. The same per-host verdict shaped for triage, with severity set from the vulnerable flag.
  • summary.json. Counts across the list: targets, product hits, vulnerable, and errors, plus the detection notes from the graph.

Integrations

  • HTTP. Unauthenticated GET of /sdk only. No plugin upload and no vsphere-client file write.

Sample output

The records below are illustrative and do not come from a real run. They show one vCenter host below a CVE-2021-21972 floor, one at or above its branch floor, and one host that is not the product.

urlis_productproduct_versionvulnerabledetail
https://vc.example.comtrue7.0.1.00000000truebelow 7.0 U1c floor
https://vc.example.orgtrue7.0.1.17327517falseat or above fixed release
https://shop.example.netfalsenullfalsenot identified as VMware vCenter Server
{"cve": "CVE-2021-21972", "total_targets": 3, "product_detected": 2, "vulnerable": 1, "errors": 0}

FAQ

Which vCenter versions does this flag?

Hosts whose parsed version and build tuple fall below the floors in the graph: 6.5 U3n, 6.7 U3l, and 7.0 U1c. The compare uses the string the /sdk response itself served.

Does an affected row mean the plugin upload worked?

No. The check only GETs /sdk and reads version and build. It does not hit a plugin endpoint and it does not confirm RCE.

Is this check safe on production?

Yes. It is a read-only unauthenticated GET of /sdk. It does not log in or upload a file.

Does the check need credentials?

No. It fingerprints the public /sdk surface the way an external scanner would.

What is CVE-2021-21972?

Remote code execution in the VMware vSphere Client (HTML5) through a plugin upload path on vCenter Server. This workflow maps hosts to that CVE by version and build exposure only.

Get a personalized demo

See Trickest in Action

A 30-minute walkthrough. We map the platform to your stack and answer pricing and deployment questions for your environment.