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. 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 cpe: cpe:2.3:a:webence:iq_block_country:*:*:*:*:*:wordpress:*:* metadata: max-request: 4 verified: true framework: wordpress vendor: webence product: iq_block_country tags: cve,wp-plugin,iq-block-country,cve2021,wordpress,wp,xss,authenticated,wpscan 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}} cookie-reuse: true req-condition: true 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