WordPress Plugin Vulnerabilities

WP ERP < 1.12.4 - Admin+ SQL Injection

Description

The plugin does not properly sanitise and escape the `type` parameter in the `erp/v1/accounting/v1/people` REST API endpoint before using it in a SQL statement, leading to a SQL injection exploitable by high privilege users such as admin.

Proof of Concept

Sign in as an admin. In WP Admin, run the following code in the browser console, and notice that it takes several seconds to complete, demonstrating the SQL Injection vulnerability.

await wp.apiRequest({path: `/erp/v1/accounting/v1/people?type=x')+AND+(SELECT+1+FROM+(SELECT+SLEEP(3))x)+AND+('x'%3d'x`});

Affects Plugins

Fixed in 1.12.4

References

Classification

Type
SQLI
OWASP top 10
CWE

Miscellaneous

Original Researcher
Arvandy
Submitter
Arvandy
Submitter website
Verified
Yes

Timeline

Publicly Published
2023-06-05 (about 11 months ago)
Added
2023-06-05 (about 11 months ago)
Last Updated
2023-06-05 (about 11 months ago)

Other