
Divulgação técnica do CVE-2018-16987: armazenamento em texto claro de senhas de serviços externos no painel de administração do Squash TM, com pontuação CVSS 4.1 e detalhes de exploração.
Esta é uma vulnerabilidade de armazenamento de texto claro de informações sensíveis e exposição de informações sensíveis que encontrei no Squash TM durante um teste de penetração.
O Squash TM é uma interface web usada para gerenciar casos de teste. Link para o projeto
O Squash TM, pelo menos até a versão 1.18.0, apresenta as senhas em texto claro de serviços externos no painel de administração, conforme demonstrado por um campo ta-server-password no código fonte HTML.
No painel de administração do SquashTM, a página de serviços externos (também conhecidos como servidores de automação) contém a senha em texto claro da conta do serviço. Esses serviços externos podem ser qualquer coisa, mas um exemplo popular é um servidor Jenkins.
Aqui está um exemplo de URL: http://localhost:8080/squash/administration/test-automation-servers/1
Aqui está um trecho do código fonte da página:
<label for="ta-server-password">Password</label>
<div id="ta-server-password" class="display-table-cell" style="font-weight: bold;">cleartext_password</div>
Para que isso aconteça, também significa que as senhas dos serviços externos são armazenadas em texto claro, o que confirmei pesquisando a senha no banco de dados (H2 e PostgreSQL).
Além disso, essa vulnerabilidade é agravada pelo fato de que as configurações padrão da aplicação são:
Pontuação sugerida: 4.1 (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N)
Apenas como informação para futuros pesquisadores, as senhas dos usuários reais são armazenadas como SHA1. Não é o ideal. Eu auditei brevemente o código-fonte, parece que todas as consultas SQL são construídas corretamente (prepared statements). Existem algumas desserializações (geração de relatórios e função de pesquisa) a partir de entrada de usuário não filtrada (parâmetros GET) usando uma versão vulnerável do componente Jackson, mas elas não parecem exploráveis porque não há tratamento polimórfico de tipos.