CVE-2021-24731

Pie Register <= 3.7.1.5 - Unauthenticated SQL Injection

2021-10-11 00:00
AyeCode Ltd

Strategic Overview

Status
Patched in 3.7.1.6
Affected Version
< 3.7.1.6
CVSS
9.8Critical
Weakness type
CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
CVE
CVE-2021-24731
View all Pie Register – User Registration, Profiles & Content Restriction vulnerabilities

At a glance

CVE-2021-24731 is a critical-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the Pie Register WordPress plugin, affecting versions < 3.7.1.6. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 3.7.1.6; sites on affected versions should update now. Disclosed October 2021, reported by AyeCode Ltd.

Vulnerability Overview

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.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Reaching this weakness in Pie Register < 3.7.1.6 takes no account at all. SQL injection happens when request data is concatenated into a query instead of being bound as a parameter, letting an attacker change the structure of the statement rather than just its values.

A working injection can read any table the database user can see, which on a WordPress install means user records, password hashes and session or API secrets stored in options. For Pie Register the fix is 3.7.1.6: builds < 3.7.1.6 are affected, anything from 3.7.1.6 onward is not.

Remediation

Update to version 3.7.1.6, or a newer patched version

How does WordSec protect against this?

Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Pie Register 3.7.1.6 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Login Security
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C