
Este repositório contém uma prova de conceito benigna para CVE-2026-36227, um problema de path traversal no tratamento de registro de usuários do Easy Chat Server 3.1.
Este repositório destina-se apenas a pesquisa de segurança autorizada e reprodução local. Não o utilize contra sistemas que você não possui ou para os quais não tenha permissão explícita para testar.
O Easy Chat Server 3.1 aceita dados de registro por meio de POST /registresult.htm. O parâmetro UserName não é suficientemente sanitizado antes de ser usado pela aplicação. Um valor no formato de traversal, como ../../ecs-traversal-proof.txt, pode fazer com que a aplicação grave fora do caminho de registro de usuário pretendido.
A PoC pública usa intencionalmente um nome de arquivo de prova inofensivo e não inclui webshell executável nem conteúdo de execução de comandos.
Vaibhav D. Barkade
/registresult.htmUserNameExecute contra uma instância de laboratório que você possua ou esteja autorizado a testar:
python3 poc.py 127.0.0.1 80
Imprima a requisição sem enviá-la:
python3 poc.py 127.0.0.1 80 --dry-run
Use um valor de prova de traversal personalizado:
python3 poc.py 127.0.0.1 80 --username '../../ecs-traversal-proof.txt'
Se o alvo for vulnerável, o servidor processa a requisição de registro com o valor de UserName controlado por traversal. O operador deve inspecionar a instalação do Easy Chat Server ou o diretório web/root em busca do artefato de prova resultante.
A severidade sugerida depende do ambiente implantado e do caminho de gravação acessível. Se usuários remotos não autenticados puderem gravar em um caminho executável pela web, o problema pode levar à execução remota de código e deve ser tratado como alto ou crítico. Se a gravação estiver limitada a locais não executáveis, o impacto direto é path traversal e gravação não autorizada de arquivos.
UserName.