
CVE-2026-48908 — Exploit PoC para RCE não autenticado no SP Page Builder (Joomla) via upload arbitrário de arquivo. Multithread, bypass de case, verificação de shell. Apenas para testes de segurança autorizados.
Crítico (CVSS v4: 10.0) — Prova de conceito de exploit para execução remota de código não autenticada no SP Page Builder (
com_sppagebuilder) para Joomla.
| Atributo | Valor |
|---|---|
| ID CVE | CVE-2026-48908 |
| Gravidade | Crítico |
| Pontuação CVSS v4 | 10.0 |
| Fraqueza | CWE-284 (Controle de Acesso Incorreto) → Upload de Arquivo Não Autenticado |
| Componente | SP Page Builder (com_sppagebuilder) para Joomla |
| Versões Afetadas | 1.0.0 – 6.6.1 |
| Versão Corrigida | 6.6.2 |
| Privilégios Necessários | Nenhum (pré-autenticação) |
| Interação do Usuário | Nenhuma |
| Vetor de Ataque | Rede |
| Impacto | Comprometimento total do sistema (RCE) |
O SP Page Builder expõe a tarefa do controlador asset.uploadCustomIcon para lidar com o upload de um pacote de fontes de ícones personalizado:
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
Em versões vulneráveis, esta tarefa é acessível sem autenticação e sem um token CSRF válido. Ela aceita um arquivo ZIP (campo multipart custom_icon) e extrai seu conteúdo para um diretório publicamente acessível na raiz da web:
/media/com_sppagebuilder/assets/iconfont/<name>/
Como o endpoint é acessível na pré-autenticação e os arquivos extraídos ficam em um local navegável, um atacante pode enviar arquivos arbitrários e executar código PHP ao solicitá-los via HTTP.
Este exploit contorna filtros comuns de nomes de arquivo no lado do servidor usando:
.php, .phtml, .phar, etc. em minúsculas, mas não normaliza maiúsculas/minúsculas, portanto .PHP e outras variantes com maiúsculas/minúsculas mistas são aceitas.selection.json, style.css e fonts/<name>.ttf válidos para que o upload seja aceito.fonts/shxt.{ext} dentro do arquivo extraído..php e .PHPresult.txtrequestsgit clone https://github.com/Jenderal92/CVE-2026-48908
cd CVE-2026-48908
pip install requests
Uso Básico
python2 CVE-2026-48908.py list.txt
Com Número de Threads Personalizado
python2 CVE-2026-48908.py list.txt 20
Formato do Arquivo de Entrada
O arquivo list.txt deve conter uma URL de destino por linha:
https://example.com
http://target-site.com/joomla
https://192.168.1.100/joomla
Saída
· URLs de shell bem-sucedidas são anexadas ao result.txt · Cada linha contém a URL completa do shell PHP enviado
⚙️ Como Funciona
Payload do Shell
O shell embutido fornece:
· Informações do ambiente do servidor (php_uname()) · Interface de upload de arquivos para enviar arquivos adicionais · Feedback de sucesso / falha
· Atualize o SP Page Builder para a versão 6.6.2 ou mais recente. · Audite os diretórios de upload em busca de arquivos não autorizados: · /media/com_sppagebuilder/assets/iconfont/ · Remova quaisquer arquivos PHP inesperados encontrados nesses diretórios. · Revise os logs do servidor em busca de solicitações POST suspeitas para asset.uploadCustomIcon. · Implante um Firewall de Aplicação Web (WAF) para bloquear tais solicitações.
Esta ferramenta é apenas para fins educacionais e de teste de segurança autorizado.
O acesso não autorizado a sistemas de computador é ilegal. Os autores não assumem nenhuma responsabilidade por qualquer uso indevido ou dano causado por esta ferramenta. Use-a apenas em sistemas de sua propriedade ou para os quais você tenha permissão explícita por escrito para testar.
Mais avisos: você pode ver o aviso legal na capa do Jenderal92. Você pode verificá-lo AQUI !!!
· Comunicado da Censys · Entrada no NVD · Anúncio de Segurança da JoomShaper
Este projeto é apenas para fins educacionais e de pesquisa. Use por sua conta e risco.