
DifuseHQ Kalmia CMS versão 0.2.0 é vulnerável à enumeração de usuários através de respostas de erro distinguíveis no endpoint de autenticação /kal-api/auth/jwt/create.
ID do CVE: CVE-2025-65899
Produto: DifuseHQ Kalmia CMS
Versão Afetada: 0.2.0
Tipo de Vulnerabilidade: Discrepância de Resposta Observável
Privilégios Necessários: Nenhum
Permite que atacantes não autenticados enumerem nomes de usuários válidos, possibilitando ataques direcionados de pulverização de senhas, preenchimento de credenciais e descoberta de contas.
Aguardando aprovação do mantenedor - https://github.com/DifuseHQ/Kalmia/pull/34
Kalmia CMS versão 0.2.0 contém uma vulnerabilidade de enumeração de usuários em seu mecanismo de autenticação. A aplicação retorna mensagens de erro diferentes para usuários inválidos (user_not_found) versus usuários válidos com senhas incorretas (invalid_password). Essa discrepância de resposta observável permite que atacantes não autenticados enumerem nomes de usuários válidos no sistema, o que pode ser explorado para ataques direcionados subsequentes, como pulverização de senhas ou engenharia social.
/kal-api/auth/jwt/createO sistema de autenticação não implementa respostas de erro consistentes, revelando informações sobre a existência de contas de usuário através de mensagens de erro diferentes:
{"message": "user_not_found"}{"message": "invalid_password"}Essa diferença nas respostas permite que atacantes distingam entre contas de usuário inexistentes e válidas.
O atacante tenta autenticar com um nome de usuário inexistente e observa a resposta do servidor retornando User not found.
Usando Burp Suite para interceptar e analisar a solicitação de autenticação, o atacante confirma que o servidor retorna user_not_found para nomes de usuário inválidos, indicando que o usuário não existe no sistema.
Ao testar com um nome de usuário válido mas senha incorreta, Burp Suite captura a resposta do servidor mostrando invalid_password, confirmando que o nome de usuário existe no sistema.
A análise da lógica de autenticação do backend revela a implementação falha que retorna mensagens de erro diferentes:
user_not_foundinvalid_passwordEsse processo de validação sequencial cria a discrepância observável que possibilita a enumeração de usuários.
O script cve-2025-65899.py automatiza o processo de enumeração de usuários:
python cve-2025-65899.py <TARGET_URL> [OPTIONS]
url: URL base do Kalmia CMS alvo (obrigatório)-u, --user: Nome de usuário único para testar-p, --password: Senha a ser usada para teste (obrigatório)-w, --wordlist: Arquivo de wordlist para enumeração em massa de usuários# Test if specific user exists
python cve-2025-65899.py http://target.com:2727 -u admin -p wrongpass
# Results:
# [+] Valid user: admin (if user exists)
# OR
# (no output if user doesn't exist)
# Enumerate users from wordlist
python cve-2025-65899.py http://target.com:2727 -w users.txt -p wrongpass
# Create a simple wordlist
echo -e "admin\nuser\nadministrator\ntest\nguest" > users.txt
Aviso Legal: Esta informação é fornecida apenas para fins educacionais e defensivos. Os usuários são responsáveis por garantir que possuem a devida autorização antes de testar qualquer sistema.