id: CVE-2019-25152

info:
  name: Abandoned Cart Lite for WooCommerce < 5.2.0 - Cross-Site Scripting
  author: DhiyaneshDK
  severity: high
  description: |
    The Abandoned Cart Lite for WooCommerce and Abandoned Cart Pro for WooCommerce plugins for WordPress are vulnerable to Stored Cross-Site Scripting via multiple parameters in versions up to, and including, 5.1.3 and 7.12.0 respectively, due to insufficient input sanitization and output escaping.
  impact: |
    This makes it possible for unauthenticated attackers to inject arbitrary web scripts in user input that will execute on the admin dashboard.
  remediation: Fixed in 5.2.0
  reference:
    - https://wpscan.com/vulnerability/915420b1-f476-481e-9b11-b736a7cfdda7/
    - https://wpscan.com/vulnerability/9229
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/a9cc5c6d-4396-4ebf-8788-f01dd9e9cfbc?source=cve
    - https://nvd.nist.gov/vuln/detail/CVE-2019-25152
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
    cvss-score: 7.2
    cve-id: CVE-2019-25152
    epss-score: 0.27125
    epss-percentile: 0.96457
    cpe: cpe:2.3:a:tychesoftwares:abandoned_cart_lite_for_woocommerce:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: tychesoftwares
    product: abandoned_cart_lite_for_woocommerce
    framework: wordpress
    fofa-query: body="/wp-content/plugins/woocommerce-abandoned-cart/"
    shodan-query: http.html:"/wp-content/plugins/woocommerce-abandoned-cart/"
  tags: cve,cve2019,wpscan,wordpress,wp,wp-plugin,woocommerce-abandoned-cart,xss,passive,vkev,vuln

http:
  - raw:
      - |
        GET /wp-content/plugins/woocommerce-abandoned-cart/readme.txt HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'compare_versions(version, "< 5.2.0")'
          - 'contains(body, "Abandoned Cart")'
          - 'status_code == 200'
        condition: and

    extractors:
      - type: regex
        name: version
        part: body
        group: 1
        regex:
          - "(?mi)Stable tag: ([0-9.]+)"
        internal: true
# digest: 4a0a0047304502207a97e28ab4c4999ef3fb669f5e127660e6a36c7c67e4df69a87540455829e262022100ef63cf34687bf677c4ce80b97aac822524e409b2b05272a938f994b373d62613:922c64590222798bb761d5b6d8e72950