The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.3.13 via the postcontent parameter of the submitpost() function. The vulnerability exists because the protected-shortcode blocklist guard inspects the sanitizetextareafield() copy of the submitted postcontent, while the copy actually persisted to the database is processed through wpkses(), whose wpksesnonull() step strips C0 control bytes — allowing an attacker to inject a single \x01 byte inside the [wpuf-registration] tag name to defeat the strpos() blocklist check while the clean, functional shortcode is stored verbatim; stripshortcodes() does not neutralize the stored shortcode either, because the Frontend container that registers it via addshortcode() is only instantiated when isadmin() is false, and admin-ajax requests have isadmin() === true. This makes it possible for authenticated attackers, with Subscriber-level access and above, to inject a [wpuf-registration role="editor"] shortcode into a published post, causing a live Editor-role registration form to be rendered publicly on the frontend that any visitor — or the attacker themselves — can submit to mint a WordPress Editor account with an immediately active privileged session when the default autologinafterregistration setting is enabled.
The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '<taxonomyfieldname> (default: 'category')' parameter in all versions up to, and including, 4.3.13 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation requires the target installation to have configured a Taxonomy field in text-input mode with guest post submission enabled on at least one frontend form.
The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'wpufpaymentmethod' parameter in all versions up to, and including, 4.3.12 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The bypass technique involves appending a valid gateway keyword such as 'bank' to the HTML payload, causing sanitizetextfield() to yield only the keyword for routing purposes while the full malicious raw value is stored and later rendered unescaped.
The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'fieldattr[required]' parameter in all versions up to, and including, 4.3.13 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link. The nonce check on the wpufgetchildcat AJAX action is not an effective security barrier because the wpufnonce value is publicly localized to every anonymous visitor of any page containing a WPUF shortcode, making it freely harvestable by an unauthenticated attacker.