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-48908 — Preuve de concept d'exploitation pour CVE-2026-48908, une RCE non authentifiée dans Joomla SP Page Builder via un téléversement de fichier arbitraire, avec livraison adaptative de la charge utile et nettoyage. | Kitploit
Outils/GitHubGitHub/bayu06802/cve-2026-48908
Analyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubbayu06802/cve-2026-48908

CVE-2026-48908

Preuve de concept d'exploitation pour CVE-2026-48908, une RCE non authentifiée dans Joomla SP Page Builder via un téléversement de fichier arbitraire, avec livraison adaptative de la charge utile et nettoyage.

Voir le dépôt
1il 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-48908 — SP Page Builder (Joomla) RCE sans authentification

Exploit de preuve de concept pour CVE-2026-48908, une vulnérabilité critique (CVSS 4.0 = 10.0) d'exécution de code à distance sans authentification dans le composant SP Page Builder (com_sppagebuilder) de Joomla, par JoomShaper.

CVECVE-2026-48908
FaiblesseCWE-284 Improper Access Control → Téléchargement arbitraire de fichier sans authentification → RCE
ComposantSP Page Builder (com_sppagebuilder) pour Joomla
Versions affectées1.0.0 – 6.6.1
Corrigé dans6.6.2
Privilèges requisAucun (pré-authentification)
Interaction utilisateurAucune

Description

SP Page Builder expose la tâche de contrôleur asset.uploadCustomIcon pour gérer le téléchargement d'un pack de polices d'icônes personnalisé :

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

Dans les versions affectées, cette tâche est accessible sans authentification et sans jeton anti-CSRF valide. Elle accepte une archive ZIP (champ multipart custom_icon) et extrait son contenu dans un répertoire accessible publiquement via le web sous la racine du document :

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (including the fonts/ subfolder)

Comme le téléchargement est accessible avant authentification et que les fichiers extraits atterrissent dans la racine web, un attaquant peut écrire des fichiers qu'il contrôle dans un emplacement consultable et les atteindre via HTTP.

Exécuter du code malgré le filtre d'extensions

Certaines versions ajoutent un filtre côté serveur sur les noms de fichiers des entrées de l'archive. Ce PoC contourne une implémentation courante de ce filtre grâce à une chaîne en trois étapes :

  1. Liste noire sensible à la casse. Le filtre rejette les extensions en minuscules .php, .phtml, .phar, .php3–.php8, .pht, .inc, … mais il ne normalise pas la casse, donc .PHP (et d'autres variantes à casse mixte) ainsi que .htaccess passent à travers.
  2. Gestionnaire de serveur web sensible à la casse. Un gestionnaire PHP Apache par défaut (<FilesMatch "\.php$">) n'exécute que les .php en minuscules, donc un .PHP téléchargé est d'abord servi comme texte source, sans être exécuté.
  3. Contournement via .htaccess. Un .htaccess (que la liste noire laisse également passer) contenant AddType application/x-httpd-php .PHP est déposé aux côtés de la charge utile. Là où AllowOverride le permet, cela enregistre .PHP en tant que PHP et le shell téléchargé s'exécute.

Le PoC inclut toujours une structure de police d'icônes valide (selection.json, style.css, fonts/<name>.ttf) afin que le téléchargement soit accepté, puis ajoute le shell.

Adaptatif — il parcourt une liste d'extensions exécutables par PHP (empreinte la plus faible d'abord), puis une solution de repli .htaccess, et s'arrête à la première qui exécute réellement du code :

  1. Téléchargements directs d'un seul fichier — fonts/<shell>.<ext> pour chacune des extensions php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php. Aucun .htaccess. Différents filtres de SP Page Builder bloquent des ensembles différents, et différentes configurations Apache exécutent des extensions différentes — cette étape trouve donc la combinaison que la cible autorise et exécute.
  2. fonts/.htaccess + fonts/<shell>.PHP (solution de repli) — uniquement si toutes les tentatives directes échouent. Le .htaccess déposé (AddType … .PHP) force l'exécution d'un .PHP en majuscules là où AllowOverride le permet (c'est ce dont les hôtes de type 5.4.6 ont besoin).

Il s'arrête à la première méthode qui exécute du code et affiche laquelle a fonctionné. Chaque téléchargement accepté est suivi, donc --cleanup les supprime tous (plusieurs tentatives peuvent laisser des répertoires en écriture seule).

Selon la version et le durcissement du serveur, le résultat varie, et le PoC l'indique explicitement (voir Résultats ci-dessous) : RCE complet, écriture de fichier uniquement (PHP désactivé / AllowOverride None), corrigé (admin uniquement), ou non vulnérable.

Prérequis

root@kitploit:~
pip install -r requirements.txt   # requests

Utilisation

root@kitploit:~
# confirm the vulnerability and prove code execution (runs `id`)
python3 sppb_rce.py https://target.example

# run a specific command
python3 sppb_rce.py --url target.example -c "uname -a"

# interactive pseudo-shell
python3 sppb_rce.py https://target.example --shell

# only check; run no command
python3 sppb_rce.py https://target.example --check

# remove the uploaded payload directory afterwards
python3 sppb_rce.py https://target.example --cleanup

La cible peut être fournie en argument positionnel ou via --url, avec ou sans schéma.

Exemple (assaini)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

Résultats (et codes de sortie)

Le PoC vous donne toujours le verdict pour la cible :

SortieSignificationCode de sortie
CODE EXECUTION CONFIRMED via '<method>'Vulnérable — RCE complet sans authentification0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT executeÉcriture de fichier uniquement (AllowOverride None / PHP désactivé dans /media)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)Corrigé — le téléchargement requiert désormais une authentification admin1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patchedNon exploitable / composant absent2

Fonctions de sécurité

  • Le shell web déposé est protégé par un jeton aléatoire propre à chaque exécution et renvoie 404 à quiconque ne le possède pas — ce n'est pas une porte dérobée ouverte à tous.
  • --cleanup supprime le répertoire de la charge utile qu'il a créé.
  • Les actions par défaut sont bénignes (id, un marqueur arithmétique).

Remédiation

  1. Mettez à niveau SP Page Builder vers 6.6.2 ou une version ultérieure (ajoute des contrôles d'authentification, d'autorisation et anti-CSRF à la tâche de téléchargement). C'est le correctif principal.
  2. Défense en profondeur sur le serveur web :
    • Désactivez l'exécution de PHP dans les répertoires de téléchargement (/media/, /images/, /tmp) via le pool FPM ou php_admin_flag engine off.
    • Définissez AllowOverride None sur ces répertoires afin qu'un .htaccess déposé ne puisse pas réactiver les gestionnaires.
    • Utilisez une liste blanche insensible à la casse pour les extensions de téléchargement, jamais une liste noire.
  3. Revue post-compromission : recherchez des .php/.PHP inattendus sous media/.../iconfont/, de nouveaux comptes Super Utilisateur et des gestionnaires de fichiers déposés subrepticement.

Références

  • NVD — CVE-2026-48908
  • Enregistrement CVE.org — CVE-2026-48908
  • Analyse technique — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • Éditeur — JoomShaper SP Page Builder (correctif de sécurité dans 6.6.2)
  • SP Page Builder — Joomla Extensions Directory

Mots-clés

Exploit Joomla SP Page Builder · RCE sans authentification com_sppagebuilder · PoC CVE-2026-48908 · téléchargement arbitraire de fichier asset.uploadCustomIcon · exécution de code à distance Joomla · script d'exploit pour pentest.

Avertissement

Ce logiciel est publié uniquement à des fins éducatives et de tests de sécurité autorisés — par exemple, des tests d'intrusion pour lesquels vous détenez une autorisation écrite, des programmes de bug bounty qui incluent la cible dans leur périmètre, des compétitions CTF et vos propres systèmes de laboratoire.

Accéder à des systèmes informatiques, les modifier ou les perturber sans autorisation est illégal dans la plupart des juridictions. Vous êtes seul et entièrement responsable de vos propres actions. En utilisant, téléchargeant ou distribuant ce code, vous acceptez que :

  • vous ne l'utiliserez que contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite et documentée de tester ;
  • les auteurs et contributeurs n'assument aucune responsabilité pour tout dommage, perte de données, interruption de service ou conséquence juridique découlant de l'utilisation ou de la mauvaise utilisation de ce code ;
  • ce matériel est fourni « EN L'ÉTAT », sans garantie d'aucune sorte, expresse ou implicite.

Si vous n'acceptez pas ces conditions, n'utilisez pas ce logiciel. Comme tout exploit/PoC disponible publiquement, il est partagé de bonne foi pour aider les défenseurs à détecter, comprendre et corriger la vulnérabilité ; ce que vous en faites relève de votre seule responsabilité.

Licence

MIT — voir LICENSE.

Télécharger l’outil