Unauthenticated RCE in VMware vCenter Server vSphere Client plugin
CVE-2021-21972 is a critical remote code execution vulnerability in the VMware vSphere Client (HTML5) component of VMware vCenter Server, specifically in a vCenter Server plugin associated with the VMware vROPS Client plugin path /ui/vropspluginui. The issue is reachable over HTTPS on port 443 and does not require authentication. Supporting content indicates the flaw has been described as a chain involving unauthenticated upload of a TAR archive followed by use of .. path traversal sequences within the archive to write or access files outside the intended directory, ultimately enabling command execution on the vCenter host. VMware states that a malicious actor with network access to port 443 can exploit the issue to execute commands with unrestricted privileges on the underlying operating system hosting vCenter Server. Affected products are VMware vCenter Server 7.x before 7.0 U1c, 6.7 before 6.7 U3l, 6.5 before 6.5 U3n, and VMware Cloud Foundation 4.x before 4.2 and 3.x before 3.10.1.2 when using the vulnerable vCenter component.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
com.vmware.vrops.install as incompatible in the compatibility-matrix.xml file, then restart the vsphere-ui service. On Linux-based vCenter Server Appliance systems, edit /etc/vmware/vsphere-ui/compatibility-matrix.xml; on Windows-based vCenter Server, edit C:\ProgramData\VMware\vCenterServer\cfg\vsphere-ui\compatibility-matrix.xml. The required entry is <PluginPackage id="com.vmware.vrops.install" status="incompatible"/>. Disabling the plugin in the UI alone is explicitly stated not to protect the system. In vCenter High Availability deployments, apply the workaround to both active and passive nodes. Validate mitigation by confirming a 404 response from https://<VC-IP-or-FQDN>/ui/vropspluginui/rest/services/checkmobregister and verifying the plugin appears as incompatible in the vSphere Client.Remediation
Patch, then assume compromise.
Exploits
8 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (11 hidden).
This repository is a multi-module Python offensive framework centered on exploiting HiSilicon DVR/NVR/IP camera devices via CVE-2020-25078, then managing compromised hosts through a Flask/SocketIO web panel. It is not a simple single-file PoC: it includes a control server (server.py), persistence and post-exploitation tooling, credential attacks, recon modules, web vulnerability scanners, network service checks, pivoting, reverse shell support, and a SQLite-backed datastore. Core exploit logic is in exploit.py and scanner.py. exploit.py probes numerous traversal/disclosure paths such as /../../.../mnt/mtd/Config/Account1 and related config/system files, parses returned content with multiple regex patterns to recover credentials, fingerprints device families, and falls back to known default credentials when disclosure succeeds but parsing does not. scanner.py operationalizes this by scanning IPs/CIDRs and common ports, checking liveness, fingerprinting likely cameras, invoking the CVE-2020-25078 checks, and storing recovered credentials in cameras.db. Post-exploitation capability is substantial. telnet_client.py provides raw Telnet login and command execution. botnet.py fans out commands across stored hosts. persistence.py installs SSH authorized_keys, cron, rc.local, init.d, systemd, inittab telnetd, and bind-shell style persistence. reverse_shell.py generates many Linux/IoT reverse shell one-liners and runs listeners. pivot_chain.py and socks_pivot.py support chained execution and local SOCKS5 pivoting through compromised hosts. Additional modules broaden scope beyond the HiSilicon exploit: brute.py and cred_spray.py perform credential attacks across Telnet, SSH, FTP, HTTP, SMB, databases, VNC, LDAP, WinRM, and more; network_exploit.py checks for exposed/misconfigured services and some well-known vulnerabilities such as MS17-010 and BlueKeep; web_exploit.py, web_cves.py, web_bugs.py, and web_brute.py scan websites for exposed files, CMS fingerprints, generic bug classes, and multiple CVE signatures. Recon/intel support includes ASN, DNS, GeoIP, JARM, WAF detection, proxy/Tor rotation, screenshot grabbing from camera snapshot endpoints, and Telegram/Discord/AbuseIPDB integrations. The repository structure is coherent and functional, with many CLI-capable modules and a central web UI in templates/index.html. Overall, this is an operational exploit-and-post-exploitation toolkit focused on HiSilicon IoT devices but expanded into a broader C2-style offensive platform.
This repository contains an operational exploit for CVE-2021-21972, a critical unauthenticated file upload vulnerability in VMware vCenter Server. The main exploit file, 'vmware_vcenter_server_unauthenticated_file_upload_exploit.py', is a Metasploit-compatible module that enables remote attackers to upload arbitrary files (such as a JSP webshell or SSH public key) to a vulnerable vCenter instance. The exploit works by targeting the '/ui/vropspluginui/rest/services/uploadova' endpoint, which is vulnerable to unauthenticated file uploads. The module can fingerprint the vCenter version via the '/sdk' SOAP endpoint and adjusts its payload placement accordingly. The included 'shell1.jsp' is a simple webshell that allows arbitrary command execution via the 'cmd' GET parameter. The exploit supports both Linux and Windows vCenter deployments. The repository is structured with a README providing usage instructions, the main Python exploit module, a sample JSP webshell payload, and a license file. The exploit is operational and can provide remote code execution or SSH access on unpatched vCenter servers.
This repository provides a working exploit for CVE-2021-21972, a critical unauthenticated file upload vulnerability in VMware vCenter Server (both VCSA and Windows versions). The main exploit script, CVE-2021-21972.py, is a Python tool that automates the exploitation process: - It checks if the target is vulnerable by probing the /ui/vropspluginui/rest/services/uploadova endpoint. - It fingerprints the vCenter version via the /sdk endpoint. - Depending on the version and platform, it uploads a malicious tar archive containing a JSP webshell (Behinder/Ice Scorpion) to a writable directory on the vCenter server. - The webshell is then accessible at a predictable URL (e.g., /ui/resources/shell.jsp for Linux, /statsreport/shell.jsp for Windows), protected by a default password ('rebeyond'). - The payloads are provided in the payload/ directory as pre-built tar files for both Linux and Windows targets, and as a raw shell.jsp file. The repository includes a README with usage instructions, affected versions, and caveats (e.g., the exploit does not work on vCenter 6.7 U2+ due to architectural changes). The exploit is operational and provides remote code execution via a webshell if successful.
This repository contains a Python exploit for CVE-2021-21972, a critical remote code execution vulnerability in VMware vCenter Server and VMware Cloud Foundation. The exploit targets the /ui/vropspluginui/rest/services/uploadova endpoint, which is vulnerable to unauthenticated file upload. The main script, CVE-2021-21972.py, can operate in two modes: vulnerability checking and exploitation. In exploitation mode, it generates an SSH key pair, creates a tar archive containing the attacker's public key, and uploads it to the target, resulting in the key being placed in the vsphere-ui user's authorized_keys file. This grants the attacker SSH access as vsphere-ui. The script supports multi-threaded operation and can process multiple targets from a file. The README provides usage instructions and affected product/version details. The exploit is operational and provides a working payload for post-exploitation access.
This repository, 'VcenterKiller', is a comprehensive exploitation toolkit written in Go, targeting multiple critical vulnerabilities in VMware vCenter Server and Workspace ONE Access. It supports exploitation of CVE-2021-21972, CVE-2021-21985, CVE-2021-22005, CVE-2021-44228 (Log4Shell), CVE-2022-22954, CVE-2022-22972, and CVE-2022-31656. The tool provides modules for remote code execution, webshell upload, SSH key injection, authentication bypass, and Log4j JNDI injection (with built-in LDAP/RMI servers for payload delivery). The main entry point is 'main.go', which dispatches to specific modules under 'src/'. Each module implements the exploit logic for a specific CVE, with endpoints and payloads tailored to the vulnerability. The tool is operational and can be used for post-exploitation, red teaming, or authorized penetration testing of VMware environments. The codebase is modular, with clear separation of exploit logic per CVE, and includes support for proxies and various attack modes. The README provides detailed usage instructions and legal disclaimers.
This repository provides a proof-of-concept exploit for CVE-2021-21972, a critical unauthenticated file upload vulnerability in VMware vCenter Server Appliance (VCSA) via the vROps plugin endpoint. The main exploit script (CVE-2021-21972.py) allows an attacker to check if a target is vulnerable and, if so, to upload an arbitrary file (such as the included cmdjsp.jsp webshell) to a specified path on the target system. The exploit works against both Windows and Unix-based VCSA targets. On Windows, the uploaded webshell can execute commands as NT AUTHORITY/SYSTEM; on Unix, as the vsphere-ui user. The repository includes the Python exploit script, a JSP webshell payload, a README with usage instructions and context, and a license file. The attack vector is network-based, targeting the /ui/vropspluginui/rest/services/uploadova endpoint over HTTPS. The exploit is operational, providing a working file upload and webshell deployment mechanism, but requires the attacker to supply the payload and target path.
This repository contains an operational exploit for CVE-2021-21972, a remote code execution vulnerability in VMware vCenter Server's vSphere Client (HTML5). The exploit consists of a Bash script (vSphereyeeter.sh) that automates the attack, and a Python script (evilarc.py) used to create a malicious archive for directory traversal. The attack works by generating an SSH keypair, crafting a tar archive that places the attacker's public key into the vsphere-ui user's authorized_keys file, and uploading this archive to the vulnerable vropspluginui endpoint on the target vCenter server. If successful, the attacker gains SSH access as the vsphere-ui user. The exploit targets vCenter Server and Cloud Foundation versions prior to their respective patched releases. The repository is well-structured, with clear separation between the exploit logic (Bash) and the archive creation utility (Python).
This repository is an exploit for VMware vCenter Server (versions 6.5 to 7.0) targeting CVE-2021-21972, a remote code execution vulnerability. The main exploit script is 'vcenter_rce.py', a Python script that automates the exploitation process. It checks if the target is vulnerable by probing the '/ui/vropspluginui/rest/services/uploadova' endpoint, then uploads a platform-specific (Linux or Windows) tar archive containing a JSP webshell (Behinder/Ice Scorpion 3) to the server. The webshell is placed in a location accessible via '/ui/resources/shell.jsp', allowing the attacker to execute arbitrary commands remotely. The webshell uses a known AES key and password ('rebeyond'). The repository includes two payload archives ('exp/Linux.tar' and 'exp/Windows.tar') for the respective platforms. The exploit is operational and provides a working webshell if the target is vulnerable and accessible.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
12 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A known security vulnerability in VMware vCenter that was exploited to deliver a web shell, enabling follow-on compromise (e.g., web shell deployment and backdoor installation).
A VMware vCenter Server vulnerability addressed via VMSA-2021-0002, with a documented workaround that requires setting the VMware vROPS Client plugin to incompatible rather than merely disabling it in the UI.
A remote code execution vulnerability in VMware vCenter Server referenced as a way to obtain the vsphere-ui user prior to chaining with CVE-2021-3156 for root escalation.
Critical remote code execution vulnerability in VMware vCenter Server that allows remote command execution.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.