
Prova de Conceito para CVE-2026-65761 - Injeção SQL Não Autenticada no EasyStore Pro via `filter_sortby`
filter_sortbyEste repositório fornece uma prova de conceito educacional para CVE-2026-65761, uma vulnerabilidade de injeção de SQL não autenticada que afeta as versões 1.0.0 a 2.0.2 (inclusive) da extensão EasyStore para Joomla. Somente a versão Pro do plugin é afetada, pois o parâmetro filter_sortby é restrito por licença.
O PoC (poc.py) demonstra a injeção de SQL no parâmetro de requisição filter_sortby no fluxo de busca de produtos (option=com_easystore&view=products&task=search) por meio de uma verificação baseada em erro.
Este projeto e as stacks Docker são apenas para testes de segurança locais e fins educacionais.
Não execute isto contra sistemas que você não possui ou para os quais não tenha permissão explícita para testar.
O caminho de código vulnerável está em um recurso . Para tornar o caminho de código auditável em um laboratório local reproduzível, este repositório aplica um para que o caminho de ordenação/filtro restrito pela versão Pro possa ser exercitado.
Isso não é fornecido como uma técnica de contorno de licenciamento e não deve ser usado para acessar recursos pagos em implantações reais. Sua única finalidade é permitir pesquisa defensiva em segurança e validação coordenada de vulnerabilidades em um ambiente de teste local isolado.
.
├── backup.sql.gz
├── poc.py
├── vulnerable/
│ ├── docker-compose.yaml
│ └── setup.sh
└── patched/
├── docker-compose.yaml
└── setup.sh
poc.py: PoC de exploração.vulnerable/docker-compose.yaml: stack de laboratório vulnerável em http://127.0.0.1:9999.patched/docker-compose.yaml: stack de laboratório corrigida em http://127.0.0.1:9999.backup.sql.gz: dump de inicialização com um conjunto de dados mínimo de loja EasyStore exigido por este PoC (2 produtos, 1 categoria, configurações básicas da loja).vulnerable/setup.sh e patched/setup.sh: importam backup.sql.gz para o contêiner MariaDB em execução.pip install requests
Inicie o ambiente vulnerável:
docker compose -f vulnerable/docker-compose.yaml up -d
Em seguida, provisione os dados de teste EasyStore necessários:
cd vulnerable
./setup.sh
cd ..
Execute o PoC:
python3 poc.py
O resultado esperado para o ambiente vulnerável inclui:
[!] Target is vulnerable to CVE-2026-65761!
Pare a stack vulnerável primeiro (se estiver em execução):
docker compose -f vulnerable/docker-compose.yaml down -v
Inicie o ambiente corrigido:
docker compose -f patched/docker-compose.yaml up -d
Em seguida, provisione os mesmos dados de teste EasyStore exigidos:
cd patched
./setup.sh
cd ..
Execute o mesmo PoC:
python3 poc.py
O resultado esperado para o ambiente corrigido é:
[-] Target is not vulnerable to CVE-2026-65761
Em poc.py, a URL alvo padrão é http://localhost:9999.
Ajuste-a se você executar o laboratório em um host ou porta diferentes.