Valida o CVE-2026-48908 no Joomla SP Page Builder com upload não autorizado de ícones que leva à execução de código PHP. Inclui evidências de auditd/PCAP, linha do tempo de eventos e recomendações de detecção para SOC em pesquisa defensiva.
Validação laboratorial da CVE-2026-48908 no componente Joomla SP Page Builder, focada em evidências técnicas, reconstrução de eventos e oportunidades de detecção defensiva.
O repositório documenta um teste controlado no qual o endpoint asset.uploadCustomIcon do SP Page Builder aceitou arquivos de ícones carregados que resultaram na escrita de artefatos PHP sob o diretório de mídia do Joomla. A invocação do arquivo PHP carregado via HTTP levou à execução de comandos como o usuário do processo do servidor web. A atividade resultante de HTTP, arquivos, processos, autenticação e rede foi capturada usando logs do contêiner Apache, auditd do Linux, tcpdump, telemetria do Docker, monitoramento de alterações de arquivos e capturas de tela do host Windows.
[!IMPORTANT] Este repositório contém apenas relatórios e capturas de tela. Código de exploit ofensivo, fonte de payload, arquivos PCAP brutos e pacotes de evidência do host bruto não são intencionalmente incluídos. O material destina-se à validação de vulnerabilidades, engenharia de SOC, desenvolvimento de detecção, preparação para resposta a incidentes e pesquisa autorizada.
Ambos os relatórios contêm a metodologia completa do teste, excertos de evidências, linha do tempo de eventos, evidência de alterações em arquivos, indicadores de rede, orientações de mitigação, recomendações de auditoria e exemplo de lógica SIEM.
.
├── 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
Nenhuma fonte de exploit, fonte de payload, PCAP bruto, pacote de evidência Docker bruto ou arquivos fonte DOCX estão incluídos.
| Papel | Sistema |
|---|---|
| Máquina vítima | Ubuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3 |
| Aplicação alvo | Joomla 5.4.7, PHP 8.3.32, Apache HTTP Server, imagem joomla:5-php8.3-apache |
| Componente | JoomShaper SP Page Builder |
| Contentor | joomla5-builders |
| Posto de trabalho atacante | Microsoft Windows 11 Home 10.0.26200 |
| Serviço Joomla | http://172.20.10.3:8080 |
| Endereço de teste Windows | 172.20.10.2 |
| Endereço do contentor | 172.21.0.3 |
| Data do teste | 9 de julho de 2026 |
A raiz web do Joomla /var/www/html era suportada pelo volume Docker joomla5-builders_joomla_data. Isto é importante para a detecção: docker diff não forneceu visibilidade detalhada das alterações de arquivos dentro do volume, por isso o monitoramento de arquivos teve que depender de listagens de arquivos com consciência de volume e orientação de monitoramento do lado do host.
O teste foi realizado em um ambiente laboratorial isolado e autorizado. A validação cobriu a seguinte sequência:
asset.uploadCustomIcon do SP Page Builder aceitou arquivos de ícones carregados no ambiente laboratorial./media/com_sppagebuilder/assets/iconfont/..htaccess que alterava o tratamento do PHP para a extensão .PHP./root e de trocar de usuário com su - falharam.Os relatórios intencionalmente documentam evidências e lógica de detecção sem distribuir um exploit reutilizável ou implementação de payload.
O teste laboratorial confirmou:
asset.uploadCustomIcon do SP Page Builder;.htaccess sob o diretório de mídia do Joomla;www-data;Dentro do contêiner, a identidade efetiva era:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
A tentativa falha de escalada de privilégio era visível como:
cd root
bash: cd: root: Permission denied
su -
Password:
su: Authentication failure
O PoC público testou várias variantes de extensão e confirmou que uma combinação envolvendo uma extensão PHP com maiúsculas/minúsculas misturadas e .htaccess poderia levar à execução na configuração laboratorial.

Uma requisição HTTP controlada executou whoami, e o navegador exibiu o usuário do processo efetivo.

Antes do teste interativo, um callback de mensagem única mais seguro foi usado para confirmar conectividade de saída do ambiente alvo para o host Windows na porta TCP 4444.

A sessão interativa confirmou execução como www-data, Linux como sistema operacional e um diretório de trabalho sob o caminho de mídia do Joomla SP Page Builder.

Tentativas de acessar /root e autenticar com su - falharam. A captura de tela foi editada para não publicar a senha do teste.

A linha do tempo completa está disponível em ambos os relatórios PDF. Os eventos mais importantes foram: