Valide CVE-2026-48908 dans Joomla SP Page Builder avec un téléchargement d'icône non autorisé conduisant à l'exécution de code PHP. Inclut des preuves auditd/PCAP, une chronologie des événements et des recommandations de détection SOC pour la recherche défensive.
Validation en laboratoire de CVE-2026-48908 dans le composant Joomla SP Page Builder, axée sur les preuves techniques, la reconstruction des événements et les opportunités de détection défensive.
Ce référentiel documente un test contrôlé dans lequel le point de terminaison asset.uploadCustomIcon de SP Page Builder a accepté des archives d'icônes téléchargées qui ont abouti à l'écriture d'artefacts PHP sous le répertoire multimédia de Joomla. L'invocation du fichier PHP téléchargé via HTTP a conduit à l'exécution de commandes en tant qu'utilisateur du processus du serveur web. L'activité HTTP, fichier, processus, authentification et réseau résultante a été capturée à l'aide des logs du conteneur Apache, de Linux auditd, de tcpdump, de la télémétrie Docker, de l'interrogation des modifications de fichiers et de captures d'écran de l'hôte Windows.
[!IMPORTANT] Ce référentiel contient uniquement des rapports et des captures d'écran. Le code d'exploit offensif, le code source des charges utiles, les fichiers PCAP bruts et les ensembles de preuves brutes de l'hôte ne sont volontairement pas inclus. Le matériel est destiné à la validation de vulnérabilités, à l'ingénierie SOC, au développement de détections, à la préparation aux incidents et à la recherche autorisée.
Les deux rapports contiennent la méthodologie de test complète, des extraits de preuves, une chronologie des événements, des preuves de modifications de fichiers, des indicateurs réseau, des conseils d'atténuation, des recommandations d'audit et un exemple de logique SIEM.
.
├── README.md
├── SHA256SUMS.txt
├── reports/
│ ├── CVE-2026-48908_SP_Page_Builder_detection_EN.pdf
│ └── CVE-2026-48908_SP_Page_Builder_detection_PL.pdf
└── screenshots/
├── 01_poc_upload_and_code_execution.png
├── 02_http_whoami_www_data.png
├── 03_tcp_callback_ncat.png
├── 04_reverse_shell_session.png
└── 05_root_access_and_su_failure_redacted.png
Aucun code source d'exploit, source de charge utile, PCAP brut, paquet de preuves Docker brut ou fichier source DOCX n'est inclus.
| Rôle | Système |
|---|---|
| Hôte victime | Ubuntu 24.04.4 LTS, noyau 6.17.0-35-generic, Docker Engine 29.5.3 |
| Application cible | Joomla 5.4.7, PHP 8.3.32, Apache HTTP Server, image joomla:5-php8.3-apache |
| Composant | JoomShaper SP Page Builder |
| Conteneur | joomla5-builders |
| Poste de travail attaquant | Microsoft Windows 11 Home 10.0.26200 |
| Service Joomla | http://172.20.10.3:8080 |
| Adresse de test Windows | 172.20.10.2 |
| Adresse du conteneur | 172.21.0.3 |
| Date du test | 9 juillet 2026 |
La racine web de Joomla /var/www/html était soutenue par le volume Docker joomla5-builders_joomla_data. Ceci est important pour la détection : docker diff n'a pas fourni de visibilité détaillée sur les modifications de fichiers à l'intérieur du volume, donc la surveillance des fichiers a dû s'appuyer sur des listes de fichiers tenant compte des volumes et des conseils de surveillance côté hôte.
Le test a été réalisé dans un environnement de laboratoire isolé et autorisé. La validation a couvert la séquence suivante :
asset.uploadCustomIcon de SP Page Builder a accepté les archives d'icônes téléchargées dans l'environnement de laboratoire./media/com_sppagebuilder/assets/iconfont/..htaccess qui modifiait la gestion PHP pour l'extension .PHP./root et de changement d'utilisateur avec su - ont échoué.Les rapports documentent intentionnellement les preuves et la logique de détection sans distribuer d'exploit ou d'implémentation de charge utile réutilisable.
Le test en laboratoire a confirmé :
asset.uploadCustomIcon de SP Page Builder ;.htaccess sous le répertoire multimédia de Joomla ;www-data ;À l'intérieur du conteneur, l'identité effective était :
uid=33(www-data) gid=33(www-data) groups=33(www-data)
La tentative d'élévation de privilèges échouée était visible comme :
cd root
bash: cd: root: Permission denied
su -
Password:
su: Authentication failure
Le PoC public a testé plusieurs variantes d'extension et a confirmé qu'une combinaison impliquant une extension PHP à casse mixte et un .htaccess pouvait conduire à une exécution dans la configuration du laboratoire.

Une requête HTTP contrôlée a exécuté whoami, et le navigateur a affiché l'utilisateur effectif du processus.

Avant le test interactif, un rappel à message unique plus sûr a été utilisé pour confirmer la connectivité sortante depuis l'environnement cible vers l'hôte Windows sur le port TCP 4444.

La session interactive a confirmé l'exécution en tant que www-data, Linux comme système d'exploitation et un répertoire de travail sous le chemin multimédia de Joomla SP Page Builder.

Les tentatives d'accès à /root et d'authentification avec su - ont échoué. La capture d'écran est masquée pour éviter de publier le mot de passe de test.

La chronologie complète est disponible dans les deux rapports PDF. Les événements les plus importants étaient :