
DifuseHQ Kalmia CMS versión 0.2.0 es vulnerable a la enumeración de usuarios a través de respuestas de error distinguibles en el endpoint de autenticación /kal-api/auth/jwt/create.
CVE ID: CVE-2025-65899
Producto: DifuseHQ Kalmia CMS
Versión Afectada: 0.2.0
Tipo de Vulnerabilidad: Discrepancia de Respuesta Observable
Privilegios Requeridos: Ninguno
Permite a atacantes no autenticados enumerar nombres de usuario válidos, posibilitando ataques dirigidos de rociado de contraseñas, relleno de credenciales y descubrimiento de cuentas.
Pendiente de aprobación del mantenedor - https://github.com/DifuseHQ/Kalmia/pull/34
Kalmia CMS versión 0.2.0 contiene una vulnerabilidad de enumeración de usuarios en su mecanismo de autenticación. La aplicación devuelve diferentes mensajes de error para usuarios inválidos (user_not_found) versus usuarios válidos con contraseñas incorrectas (invalid_password). Esta discrepancia de respuesta observable permite a atacantes no autenticados enumerar nombres de usuario válidos en el sistema, lo que puede ser aprovechado para ataques dirigidos posteriores como rociado de contraseñas o ingeniería social.
/kal-api/auth/jwt/createEl sistema de autenticación no logra implementar respuestas de error consistentes, revelando información sobre la existencia de cuentas de usuario a través de diferentes mensajes de error:
{"message": "user_not_found"}{"message": "invalid_password"}Esta diferencia en las respuestas permite a los atacantes distinguir entre cuentas de usuario inexistentes y válidas.
El atacante intenta autenticarse con un nombre de usuario inexistente y observa que la respuesta del servidor devuelve User not found.
Usando Burp Suite para interceptar y analizar la solicitud de autenticación, el atacante confirma que el servidor devuelve user_not_found para nombres de usuario inválidos, indicando que el usuario no existe en el sistema.
Al probar con un nombre de usuario válido pero contraseña incorrecta, Burp Suite captura la respuesta del servidor mostrando invalid_password, confirmando que el nombre de usuario existe en el sistema.
El análisis de la lógica de autenticación del backend revela la implementación defectuosa que devuelve diferentes mensajes de error:
user_not_foundinvalid_passwordEste proceso de validación secuencial crea la discrepancia observable que permite la enumeración de usuarios.
El script cve-2025-65899.py automatiza el proceso de enumeración de usuarios:
python cve-2025-65899.py <TARGET_URL> [OPTIONS]
url: URL base de Kalmia CMS objetivo (requerido)-u, --user: Un único nombre de usuario a probar-p, --password: Contraseña a usar para la prueba (requerido)-w, --wordlist: Archivo de lista de palabras para enumeración masiva de usuarios# 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
user_not_found)Aviso Legal: Esta información se proporciona únicamente con fines educativos y defensivos. Los usuarios son responsables de asegurarse de tener la autorización adecuada antes de probar cualquier sistema.