Guida alla validazione difensiva in laboratorio e alla rilevazione SOC per CVE-2026-48907 in Joomla JCE <= 2.9.99.4, inclusi telemetria Apache/Joomla/auditd, artefatti webshell, regole Sigma, mapping MITRE ATT&CK e raccomandazioni di mitigazione.
Rapporto di validazione difensiva e note di rilevamento orientate al SOC per CVE-2026-48907 che interessa Joomla Content Editor (JCE) versioni fino alla 2.9.99.4.
Questo repository documenta una validazione di laboratorio controllata di CVE-2026-48907 in Joomla JCE e si concentra sull'ingegneria pratica del rilevamento per i team SOC.
L'obiettivo non è fornire indicazioni sullo sfruttamento. L'obiettivo è mostrare quali fonti di telemetria sono state utili durante la validazione, quali artefatti sono stati creati e come i difensori possono rilevare e rispondere a questa attività.
| Area | Riscontro |
|---|---|
| Vulnerabilità | CVE-2026-48907 in Joomla Content Editor (JCE); flusso di creazione/importazione di profili non autenticato che può portare al caricamento di PHP e all'esecuzione di codice. |
| Versione testata | JCE 2.9.99.4. Il pannello di amministrazione di Joomla mostrava un aggiornamento disponibile alla 2.9.99.7. |
| Risultato del laboratorio | La validazione pubblica del PoC ha confermato RCE e creato una webshell PHP in Joomla /tmp come jce*.xml.php. I comandi sono stati eseguiti come www-data. |
| Telemetria più preziosa | Apache access.log, Apache/PHP error.log, telemetria auditd execve e artefatti del filesystem in joomla_html/tmp. |
| Log di Joomla | Utili come contesto di supporto, ma insufficienti da soli. I log dell'applicazione Joomla non hanno ricostruito l'intera catena: exploit → webshell → esecuzione comandi. |
| Priorità SOC | Critica per istanze Joomla esposte su Internet o istanze Joomla raggiungibili da reti interne meno fidate. |
| Parametro | Valore |
|---|---|
| URL applicazione | http://172.20.10.3:9999 |
| Contenitore Joomla | joomla-jce-lab, immagine joomla:5-apache |
| Contenitore database | joomla-jce-db, immagine mariadb:11 |
| Mapping porta | 0.0.0.0:9999 -> 80/tcp |
| Apache | Apache/2.4.67 (Debian) |
| PHP | PHP 8.3.31 |
| MariaDB | 11.8.8-MariaDB |
| Joomla | Joomla 5.4.6 Stable |
| JCE | 2.9.99.4 |
| Sorgente test | Windows 11, IP 172.20.10.2 |
| Registrazione | Log accesso/errori Apache, log Joomla, auditd, log Docker, artefatti filesystem |







Un risultato operativo chiave è che i log dell'applicazione Joomla non sono stati sufficienti.
Durante il test di laboratorio, i log Joomla hanno registrato informazioni a livello di applicazione come un evento joomlafailure, ma non hanno mostrato l'intera catena di sfruttamento. La catena utile era visibile principalmente in:
access.logerror.logexecvejoomla_html/tmpPer il monitoraggio SOC, i log Joomla dovrebbero essere trattati come telemetria di supporto, non come fonte di rilevamento primaria per questa vulnerabilità.
Catena di alto livello osservata durante il test controllato:
Scoperta versione JCE
↓
POST al componente Joomla JCE
↓
Webshell PHP scritta in /tmp di Joomla
↓
Richiesta HTTP a /tmp/jce*.xml.php
↓
Esecuzione comandi tramite webshell
↓
auditd conferma /usr/bin/dash e comandi eseguiti come www-data
L'evidenza più chiara era presente in Apache access.log:
GET /plugins/editors/jce/jce.xml
GET /
POST /index.php?option=com_jce
GET /tmp/jceolxtshs3.xml.php
GET /plugins/editors/jce/jce.xml
POST /index.php?option=com_jce
GET /tmp/jce624jdcfx.xml.php
GET /tmp/jce624jdcfx.xml.php?c=id%20%26%26%20hostname%20%26%26%20pwd
GET /tmp/jce624jdcfx.xml.php?c=whoami
GET /tmp/jce624jdcfx.xml.php?c=hostname
GET /tmp/jce624jdcfx.xml.php?c=id
GET /tmp/jce624jdcfx.xml.php?c=pwd
Il log degli errori Apache/PHP conteneva tracce preziose relative al parser:
simplexml_load_string()
administrator/components/com_jce/helpers/profiles.php
RXST
RXEND
I marcatori RXST e RXEND erano indicatori particolarmente utili per questa specifica famiglia di PoC perché apparivano nel percorso di gestione del payload.
I log di Joomla hanno confermato che la registrazione dell'applicazione era attiva, ma non hanno ricostruito lo sfruttamento:
#Software: Joomla! 5.4.6 Stable [ Kutegemea ] 26-May-2026 16:00 GMT
#Fields: datetime priority clientip category message
2026-06-18T20:37:57+00:00 INFO 172.20.10.2 joomlafailure Username and password do not match or you do not have an account yet.
Ciò significa che raccogliere solo i log di Joomla potrebbe far perdere l'evidenza più importante dello sfruttamento di CVE-2026-48907.
Il test ha creato file webshell PHP in Joomla tmp:
/var/www/html/tmp/jce624jdcfx.xml.php
/var/www/html/tmp/jceolxtshs3.xml.php
Percorsi lato host nel laboratorio:
/home/user/joomla-jce-lab/joomla_html/tmp/jce624jdcfx.xml.php
/home/user/joomla-jce-lab/joomla_html/tmp/jceolxtshs3.xml.php
Hash SHA256 osservati:
b6fa303daef8aa8cb39566c73d2cb4a458efb2b1fba48052dd039d45c3beb0aa jce624jdcfx.xml.php
f8bcc802ab56b845c968ed6727228f200f8f4bcd332b8ce82c6980d93ac228fd jceolxtshs3.xml.php