WordPress security changelog
MEDIUM CVE-2026-18547 Deferred

Ultimate Member permits Subscriber-level stored cross-site scripting

Ultimate Member through 2.12.1 lets a Subscriber store a quote-breakout payload in the id attribute of an HTML-enabled textarea profile field. The allowed div attribute survives wp_kses processing, then pickadate.js concatenates the stored id into HTML through jQuery .html(), allowing autofocus and onfocus syntax to execute JavaScript when the profile loads.

CVE / CNA score 6.4 CVSS 3.1 · security@wordfence.com
NVD score Pending NVD has not published its own CVSS assessment.
Component
Ultimate Member – User Profile, Registration, Login, Member Directory, Content Restriction & Membership Plugin
Plugin slug
ultimate-member
Affected
<= 2.12.1
Safe version
2.13.0
Published
Aug 25, 2026
Weakness
CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

This CVE was published Aug 25, 2026 and is one of 60 known issues for this plugin.

Update, patch or deactivate.

Update to 2.13.0 or later, inspect HTML-enabled profile fields for suspicious id values, and invalidate privileged sessions if malicious profiles were viewed.

A safe version is available, so updating to that version or later is the preferred remediation. If an immediate update is not practical, consider a targeted application patch or temporarily restricting the affected functionality.

Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.

Technical description

The Ultimate Member – User Profile, Registration, Login, Member Directory, Content Restriction & Membership Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Textarea Profile Field with HTML Support (DOM Gadget via id Attribute) in all versions up to, and including, 2.12.1 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. This is possible because the wp_kses 'templates' allowlist permits the id attribute on div elements but does not neutralize unescaped quotes within its value; when pickadate.js concatenates the stored id value into an HTML string via jQuery .html() on profile page load, the smuggled onfocus and autofocus attribute syntax breaks out of attribute context and executes as JavaScript.

CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Primary and upstream sources