Security Alert Summary
The UsersWP plugin for WordPress contains a stored Cross-Site Scripting (XSS) vulnerability that affects versions up to and including 1.2.60. Insufficient sanitization of user-supplied URL fields and improper output escaping when rendering user profile data in badge widgets allows authenticated attackers with subscriber-level access and above to inject scripts that execute when a page containing the affected badge widget is viewed.
CVE Details
- CVE ID: CVE-2026-5742
- Affected component: UsersWP plugin for WordPress
- Affected versions: Versions up to and including 1.2.60
- Published: April 9, 2026 at 05:16:05 AM UTC
- Last modified: April 9, 2026 at 05:16:05 AM UTC
- CVSS v3.1: Base Score 6.4 (MEDIUM) —
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - Authentication / privileges / user interaction: Authentication required. Privileges required: Low (authenticated user such as subscriber-level or higher). User interaction: None.
- Primary impact: Confidentiality: Low; Integrity: Low; Availability: None
- Weakness: CWE-79 (Improper Neutralization of Input During Web Page Generation or Stored XSS)
Technical Details
This issue is a stored Cross-Site Scripting (XSS) vulnerability. The plugin does not sufficiently sanitize user-supplied URL fields and does not properly escape user profile data when rendering that data inside badge widgets. Because the malicious content is stored in profile fields and later output into a widget, the injected scripts run in the context of any user who views a page containing the affected badge widget.
The vulnerability exists due to missing or inadequate input sanitization on the way profile URL fields are handled and insufficient output escaping when those fields are rendered. The attack vector is an authenticated user creating or updating profile data with malicious script content; the payload is then stored and executed in viewers’ browsers when the badge widget is displayed.
Impact is limited to what can be achieved via script execution in the context of a victim’s browser. That can include actions such as reading data accessible to scripts on the page, performing actions available to the signed-in user in the browser, or facilitating targeted social engineering. The CVSS metrics indicate limited confidentiality and integrity impact and no direct availability impact.
How This Could Impact Your Website
Consider a site where multiple people have accounts: a site owner, internal staff who publish or manage content, and external contributors or contractors who may be given subscriber-level or similar access. An authenticated contributor could add a malicious URL or profile content that stores a script. Whenever a staff member or visitor views a page with the affected badge widget, that script can run in their browser. Practical consequences can include exposure of information visible to the page script (for example user metadata), actions performed in the user’s browser while authenticated, and increased risk of targeted phishing or social engineering based on harvested details.
If you’re unsure whether your site is affected or how to assess your current user roles and plugins, it may be worth having a professional review of your setup.
Recommended Actions
- Update the affected plugin as soon as a patched version is available.
- Review and reduce unnecessary user roles, especially contributor and subscriber accounts that do not need profile editing capabilities.
- Enforce strong passwords and enable two-factor authentication for editors and administrators.
- Remove unused or unmaintained plugins and themes from the site.
- Monitor site activity and logs for unusual behavior, including unexpected profile updates or widget content changes.
If you’d like help reviewing your plugins, user roles, or overall WordPress security posture, our team at Freshy is happy to help.
References
- https://plugins.trac.wordpress.org/browser/userswp/tags/1.2.55/includes/class-forms.php#L1963
- https://plugins.trac.wordpress.org/browser/userswp/tags/1.2.55/includes/helpers/pages.php#L392-L540
- https://plugins.trac.wordpress.org/browser/userswp/tags/1.2.55/includes/helpers/pages.php#L522-L527
- https://plugins.trac.wordpress.org/browser/userswp/tags/1.2.55/vendor/ayecode/wp-ayecode-ui/includes/components/class-aui-component-button.php#L53
- https://plugins.trac.wordpress.org/browser/userswp/trunk/includes/class-forms.php#L1963
- https://plugins.trac.wordpress.org/browser/userswp/trunk/includes/helpers/pages.php#L392-L540
- https://plugins.trac.wordpress.org/browser/userswp/trunk/includes/helpers/pages.php#L522-L527
- https://plugins.trac.wordpress.org/browser/userswp/trunk/vendor/ayecode/wp-ayecode-ui/includes/components/class-aui-component-button.php#L53
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3501691%40userswp&new=3501691%40userswp&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/bdb619c5-967c-4b8c-8a93-bcdb49137d56?source=cve