id: CVE-2021-36873 info: name: WordPress iQ Block Country <=1.2.11 - Cross-Site Scripting author: theamanrawat severity: medium description: | WordPress iQ Block Country plugin 1.2.11 and prior contains a cross-site scripting vulnerability. An attacker can execute 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 to the latest version of the WordPress iQ Block Country plugin (>=1.2.12) to mitigate this vulnerability. reference: - https://wpscan.com/vulnerability/ba93f085-2153-439b-9cda-7c5b09d3ed58 - https://wordpress.org/plugins/iq-block-country/ - https://patchstack.com/database/vulnerability/iq-block-country-/wordpress-iq-block-country-plugin-1-2-11-authenticated-persistent-cross-site-scripting-xss-vulnerability - https://nvd.nist.gov/vuln/detail/CVE-2021-36873 - https://wordpress.org/plugins/iq-block-country/#developers classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N cvss-score: 5.4 cve-id: CVE-2021-36873 cwe-id: CWE-79 epss-score: 0.00131 epss-percentile: 0.47179 cpe: cpe:2.3:a:webence:iq_block_country:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 4 vendor: webence product: iq_block_country framework: wordpress tags: cve,cve2021,wp-plugin,iq-block-country,wordpress,wp,xss,authenticated,wpscan,webence 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 - | GET /wp-admin/options-general.php?page=iq-block-country%2Flibs%2Fblockcountry-settings.php HTTP/1.1 Host: {{Hostname}} - | POST /wp-admin/options.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded option_page=iqblockcountry-settings-group&action=update&_wpnonce={{nonce}}&_wp_http_referer=%2Fwordpress%2Fwp-admin%2Foptions-general.php%3Fpage%3Diq-block-country%2Flibs%2Fblockcountry-settings.php&blockcountry_blockmessage=test&blockcountry_redirect=2&blockcountry_redirect_url=&blockcountry_header=on&blockcountry_nrstatistics=15&blockcountry_daysstatistics=30&blockcountry_geoapikey=&blockcountry_apikey=&blockcountry_ipoverride=NONE&blockcountry_debuglogging=on - | GET /wp-admin/options-general.php?page=iq-block-country%2Flibs%2Fblockcountry-settings.php HTTP/1.1 Host: {{Hostname}} matchers: - type: dsl dsl: - contains(header_4, "text/html") - status_code_4 == 200 - contains(body_4, 'blockcountry_blockmessage\">test') - contains(body_4, '

Block type

') condition: and extractors: - type: regex name: nonce group: 1 regex: - 'name="_wpnonce" value="([0-9a-zA-Z]+)"' internal: true # digest: 490a004630440220684766e6e255bb9e4afa32a94b1ca2dc955141bb09fed41190b572538a9c5c2d02201338c2a3689ac3cc0f55a9edc41183f9d05cac1325b267cd51aa3d1c282ea228:922c64590222798bb761d5b6d8e72950