CVE-2026-18547
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.
Leer descripción completaMostrar menos
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.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Puntuación base: 6.4
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.28%
- Percentil entre todas las CVEs puntuadas: 19
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-79
Referencias
- https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.11.4/assets/js/common.js#L51
- https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.11.4/includes/class-functions.php#L580
- https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.11.4/includes/core/class-form.php#L853
- https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.12.1/assets/js/common.js#L51
- https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.12.1/includes/class-functions.php#L580
- https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.12.1/includes/core/class-form.php#L853
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3663931%40ultimate-member&new=3663931%40ultimate-member
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a7961bcc-eae7-40e1-8838-9755c7655500?source=cve
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-18547",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-18547",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-08-25T16:01:52.419640Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 6.4,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 3.1
}
]
},
"affected": [
{
"source": "security@wordfence.com",
"affectedData": [
{
"vendor": "ultimatemember",
"product": "Ultimate Member – User Profile, Registration, Login, Member Directory, Content Restriction & Membership Plugin",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "2.12.1"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-08-25T12:16:23.490",
"references": [
{
"url": "https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.11.4/assets/js/common.js#L51",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.11.4/includes/class-functions.php#L580",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.11.4/includes/core/class-form.php#L853",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.12.1/assets/js/common.js#L51",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.12.1/includes/class-functions.php#L580",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ultimate-member/tags/2.12.1/includes/core/class-form.php#L853",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/changeset?reponame=&old=3663931%40ultimate-member&new=3663931%40ultimate-member",
"source": "security@wordfence.com"
},
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/a7961bcc-eae7-40e1-8838-9755c7655500?source=cve",
"source": "security@wordfence.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "El plugin Ultimate Member - User Profile, Registration, Login, Member Directory, Content Restriction & Membership Plugin para WordPress es vulnerable a cross-site scripting almacenado a través del campo de perfil de área de texto con soporte HTML (Gadget DOM a través del atributo id) en todas las versiones hasta, e incluyendo, 2.12.1 debido a una sanitización de entrada insuficiente y un escape de salida. Esto hace posible que atacantes autenticados, con acceso de nivel de suscriptor y superior, inyecten scripts web arbitrarios en páginas que se ejecutarán cada vez que un usuario acceda a una página inyectada. Esto es posible porque la lista de permitidos 'templates' de wp_kses permite el atributo id en elementos div pero no neutraliza las comillas sin escapar dentro de su valor; cuando pickadate.js concatena el valor id almacenado en una cadena HTML a través de jQuery .html() en la carga de la página de perfil, la sintaxis de atributo onfocus y autofocus contrabandeada sale del contexto del atributo y se ejecuta como JavaScript."
}
],
"lastModified": "2026-09-28T23:10:00.143",
"sourceIdentifier": "security@wordfence.com"
}