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.
PoC代码[已公开]
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.30106
epss-percentile: 0.96458
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: 4a0a00473045022100d1cf56e813db7546388bbf827fc798160f414fffd5c4fd68516631110be6e745022057b7701132e024d67738edeea3a5acc394ebaf9fe17e09219466291b3bd08517:922c64590222798bb761d5b6d8e72950