
CVE-2026-48908 — PoC exploit for unauthenticated RCE in SP Page Builder (Joomla) via arbitrary file upload. Multi‑threaded, case‑bypass, shell verification. For authorized security testing only.
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.