CVE-2026-107748: User Profile Builder <= 4.0.3 - Authenticated (Subscriber+) Stored Cross-Site Scripting via 'display_name' Parameter
The User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'displayname' parameter in all versions up to, and including, 4.0.3 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 payload persists in wpcomments.commentauthor independently of the user account, so removing or changing the attacker's display name after the comment is posted does not neutralize the stored script.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue?
An attacker must be authenticated to WordPress with at least Subscriber-level access. No user interaction is required from the attacker after submitting the malicious value, but the script executes when another user visits the affected injected page.
Does deleting the attacker account remove the malicious script?
No. The injected payload is stored in wp_comments.comment_author independently of the attacker’s account, so removing the account or changing its display name does not neutralize an already posted payload.
How can I check for existing exploitation?
Review comment records, particularly the wp_comments.comment_author field, for suspicious or unexpected display-name content such as script markup or event-handler attributes. Existing malicious values must be removed from stored comments; account changes alone are insufficient.