Skip to content
Laskyr

CVE-2026-109447: User Profile Builder privilege escalation vulnerability

high 8.1 published 2026-10-16

Fixed in User Profile Builder 4.0.4 (first release after the affected range)

User Profile Builder 4.0.3 and older is affected by this privilege escalation issue. Sites on 4.0.4 or newer are not affected; the latest release is 4.0.6.

Affected versions
4.0.3 and older
Fixed in
4.0.4 *
Latest version
4.0.6
Severity
High · CVSS 8.1
Active installs
40,000+
Type
Privilege escalation

* The source does not name a fixed version; this is the first wordpress.org release after the last affected version.

What an attacker needs

CVSS vector (score by Wordfence): CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

What to do now

  1. Update User Profile Builder to 4.0.4 or newer (the latest is 4.0.6): Dashboard → Updates, or Plugins → “update now”.
  2. If you cannot update right away, deactivate it until you can.
  3. Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
  4. Not sure which version you run? Check your version against every known User Profile Builder issue. With WP-CLI: wp plugin get profile-builder --field=version.
  5. If you ran an affected version and something looks off (new admin users, spam pages, redirects), run the free scan below.

The advisory

The User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 4.0.3 via the `role` parameter handled by the `wppb_add_meta_to_user_on_activation()` function. The vulnerability exists because the activation handler passes the attacker-supplied role value directly to `WP_User::set_role()` with no allow-list validation, and the 4.0.3 reserved-name check exempts pre-existing form fields from the block, allowing a legacy field with meta-name `role` to persist and bridge attacker-controlled request input into the serialized signup record stored in `wp_signups`. This makes it possible for unauthenticated attackers to gain a fully activated WordPress administrator account by submitting `role=administrator` through the public `[wppb-register]` shortcode form and subsequently clicking the confirmation activation link. Exploitation requires the site to have a legacy form field with meta-name `role` carried over from before the 4.0.3 upgrade, email confirmation enabled, and open user registration — all stable site-state conditions once established.

Description from the CVE record, published by Wordfence (the CVE Numbering Authority), via the NVD entry for CVE-2026-109447.

References

Related

Ran an affected version? Check your site for signs of a hack

The free scan reads the public side of your site and looks for spam pages, hidden redirects, injected scripts and blacklist entries. No login, no install, about a minute.

Where this data comes from

First hour checklist

If the site was just hacked, read the emergency kit before you delete files. The page is free. Email is optional.

Read the emergency kit