Valida la CVE-2026-48908 in Joomla SP Page Builder con caricamento di icone non autorizzato che porta all'esecuzione di codice PHP. Include prove auditd/PCAP, cronologia degli eventi e raccomandazioni di rilevamento SOC per la ricerca difensiva.
Validazione di laboratorio di CVE-2026-48908 nel componente Joomla SP Page Builder, incentrata su evidenze tecniche, ricostruzione degli eventi e opportunità di rilevamento difensivo.
Il repository documenta un test controllato in cui l'endpoint asset.uploadCustomIcon di SP Page Builder ha accettato archivi di icone caricati che hanno comportato la scrittura di artefatti PHP nella directory media di Joomla. L'invocazione del file PHP caricato via HTTP ha portato all'esecuzione di comandi come utente del processo del server web. L'attività HTTP, di file, di processo, di autenticazione e di rete risultante è stata catturata tramite i log del container Apache, Linux auditd, tcpdump, telemetria Docker, polling delle modifiche ai file e screenshot dell'host Windows.
[!IMPORTANT] Questo repository contiene esclusivamente report e screenshot. Il codice exploit offensivo, il sorgente dei payload, i file PCAP grezzi e i pacchetti di evidenze host grezzi non sono inclusi intenzionalmente. Il materiale è destinato alla validazione delle vulnerabilità, all'ingegneria SOC, allo sviluppo di regole di rilevamento, alla preparazione della risposta agli incidenti e alla ricerca autorizzata.
Entrambi i report contengono la metodologia di test completa, estratti delle evidenze, cronologia degli eventi, evidenze delle modifiche ai file, indicatori di rete, indicazioni di mitigazione, raccomandazioni di audit e logiche SIEM di esempio.
.
├── 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
Non sono inclusi sorgenti di exploit, sorgenti di payload, PCAP grezzi, pacchetti di evidenze Docker grezzi o file sorgente DOCX.
| Ruolo | Sistema |
|---|---|
| Host vittima | Ubuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3 |
| Applicazione target | Joomla 5.4.7, PHP 8.3.32, Apache HTTP Server, immagine joomla:5-php8.3-apache |
| Componente | JoomShaper SP Page Builder |
| Container | joomla5-builders |
| Workstation attaccante | Microsoft Windows 11 Home 10.0.26200 |
| Servizio Joomla | http://172.20.10.3:8080 |
| Indirizzo di test Windows | 172.20.10.2 |
| Indirizzo del container | 172.21.0.3 |
| Data del test | 9 luglio 2026 |
La webroot di Joomla /var/www/html era supportata dal volume Docker joomla5-builders_joomla_data. Questo è rilevante per il rilevamento: docker diff non ha fornito visibilità dettagliata sulle modifiche ai file all'interno del volume, quindi il monitoraggio dei file ha dovuto fare affidamento su elenchi di file che tengono conto del volume e su indicazioni di monitoraggio lato host.
Il test è stato eseguito in un ambiente di laboratorio isolato e autorizzato. La validazione ha coperto la seguente sequenza:
asset.uploadCustomIcon di SP Page Builder ha accettato archivi di icone caricati nell'ambiente di laboratorio./media/com_sppagebuilder/assets/iconfont/..htaccess che modificava la gestione di PHP per l'estensione .PHP./root e di cambiare utente con su - sono falliti.I report documentano intenzionalmente le evidenze e la logica di rilevamento senza distribuire un exploit riutilizzabile o un'implementazione di payload.
Il test di laboratorio ha confermato:
asset.uploadCustomIcon di SP Page Builder;.htaccess nella directory media di Joomla;www-data;All'interno del container, l'identità effettiva era:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Il tentativo fallito di escalation dei privilegi era visibile come:
cd root
bash: cd: root: Permission denied
su -
Password:
su: Authentication failure
Il PoC pubblico ha testato diverse varianti di estensione e ha confermato che una combinazione che coinvolge un'estensione PHP con maiuscole/minuscole miste e .htaccess poteva portare all'esecuzione nell'ambiente di laboratorio.

Una richiesta HTTP controllata ha eseguito whoami e il browser ha mostrato l'utente effettivo del processo.

Prima del test interattivo, è stato utilizzato un callback più sicuro a messaggio singolo per confermare la connettività in uscita dall'ambiente target verso l'host Windows sulla porta TCP 4444.

La sessione interattiva ha confermato l'esecuzione come www-data, Linux come sistema operativo e una directory di lavoro sotto il percorso media di Joomla SP Page Builder.

I tentativi di accedere a /root e di autenticarsi con su - sono falliti. Lo screenshot è oscurato per evitare di pubblicare la password di test.

La cronologia completa è disponibile in entrambi i report PDF. Gli eventi più importanti sono stati: