
PoC for CVE-2026-48907 - Joomla! JCE extension < 2.9.99.5 unauthenticated RCE
⚠️ Este repositório é apenas para fins educacionais e de segurança defensiva. Teste apenas em sistemas que você possui ou está explicitamente autorizado a avaliar. Não use este projeto contra sistemas de terceiros.
Este PoC demonstra a CVE-2026-48907, uma vulnerabilidade de RCE não autenticada que afeta o Joomla Content Editor (JCE) até a versão 2.9.99.4.
Ele explora a falta de autenticação e validação na funcionalidade de importação de perfil do JCE,
Ele difere do PoC original do BIBIL_0DAY, pois se baseia no fato de que a importação de perfil do JCE armazena o arquivo de perfil enviado em tmp/, sem autenticação nem validação de formato ou conteúdo do arquivo. Como a configuração padrão do Joomla permite a execução de PHP a partir da pasta tmp/, isso leva a um caminho direto de RCE.
Restringir a execução de PHP ou até mesmo o acesso público à pasta tmp/ mitiga facilmente esse vetor.
Os usuários do Joomla são incentivados a fortalecer a configuração do servidor web e a atualizar o JCE para >=2.9.99.5.
vulnerable/ – docker-compose que implanta uma instância do Joomla usando a imagem Docker oficial joomla:latest e instala o JCE 2.9.99.4 (versão vulnerável). Escuta em 127.0.0.1:9999patched/ – docker-compose que implanta uma instância do Joomla usando a imagem Docker oficial joomla:latest e instala o JCE 2.9.99.5 (versão corrigida). Escuta em 127.0.0.1:9999Executando
docker compose -f vulnerable/docker-compose.yaml up
python3 poc.py
produz
{"success":true,"message":"","messages":{"info":["0 Profile(s) imported successfully"]},"data":{"redirect":"\/index.php\/component\/jce?view=profiles"}}
>> 3105
[!!!!!] PHP payload was executed ! Server is vulnerable to cve-2026-48907 !
Este projeto destina-se a ajudar pesquisadores, defensores e administradores a entender a vulnerabilidade e validar esforços de remediação em um ambiente controlado. Os autores não são responsáveis por qualquer uso indevido deste material.