
DifuseHQ Kalmia CMS versión 0.2.0 contiene una vulnerabilidad de Control de Acceso Incorrecto en el endpoint de API /kal-api/auth/users. Debido a una validación de permisos insuficiente y una exposición excesiva de datos en el backend, un usuario autenticado con permisos básicos de lectura puede recuperar información sensible de todos los usuarios de la plataforma.
ID CVE: CVE-2025-65900
Producto: DifuseHQ Kalmia CMS
Versión afectada: 0.2.0
Tipo de vulnerabilidad: Control de Acceso Incorrecto
Privilegios requeridos: Bajo (cuenta de usuario de solo lectura)
Esta vulnerabilidad permite a un usuario con pocos privilegios recuperar información sensible de todas las cuentas de la plataforma, incluyendo los hashes de contraseñas Blowfish. Los atacantes pueden realizar descifrado fuera de línea, escalar privilegios y potencialmente comprometer cuentas administrativas, lo que lleva a la toma total del sistema.
Pendiente de aprobación del mantenedor - https://github.com/DifuseHQ/Kalmia/pull/34
DifuseHQ Kalmia CMS versión 0.2.0 contiene una vulnerabilidad de Control de Acceso Incorrecto en el endpoint de la API /kal-api/auth/users. Debido a una validación de permisos insuficiente y a una exposición excesiva de datos en el backend, un usuario autenticado con permisos básicos de lectura puede recuperar información sensible de todos los usuarios de la plataforma, incluyendo los hashes de contraseñas Blowfish. Esta falla permite la divulgación no autorizada de material de credenciales y posibilita ataques de fuerza bruta fuera de línea, lo que potencialmente lleva al compromiso total de las cuentas. El origen del problema radica en comprobaciones de autorización inadecuadas en middleware/auth.go y en datos de usuario sin filtrar devueltos por web/src/api/Requests.ts.
/kal-api/auth/jwt/create/kal-api/auth/usersLa aplicación no logra sanear adecuadamente la información sensible ni bloquear el acceso a endpoints sensibles. Los usuarios con permisos mínimos de solo lectura pueden:
Un atacante comienza con una cuenta de usuario legítima de solo lectura en el sistema Kalmia CMS.
El atacante inicia sesión en el sistema usando sus credenciales de solo lectura a través del mecanismo de autenticación estándar.
Usando herramientas como Burp Suite, el atacante consulta la ruta de API /kal-api/auth/users y visualiza la información de acceso de todos los usuarios.
Los hashes de contraseñas extraídos se procesan luego con herramientas de descifrado de contraseñas como hashcat para recuperar las contraseñas en texto plano.
Las contraseñas descifradas con éxito proporcionan acceso completo a las cuentas de usuario, incluyendo potencialmente cuentas administrativas.
El script cve-2025-65900.py automatiza el proceso de explotación:
python cve-2025-65900.py <TARGET_URL> -u <READ_ONLY_USERNAME> -p <READ_ONLY_PASSWORD>
url: URL base de Kalmia CMS objetivo (requerido)-u, --user: Nombre de usuario de solo lectura (requerido)-p, --password: Contraseña de solo lectura (requerido)-t, --token-endpoint: Endpoint del token JWT (por defecto: /kal-api/auth/jwt/create)-d, --dump: Endpoint de volcado de usuarios (por defecto: /kal-api/auth/users)-a, --auth: Omitir generación de token y usar el token JWT proporcionado-o, --output: Guardar los hashes extraídos en un archivo# Explotación básica
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass
# Guardar hashes en un archivo
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -o hashes.txt
# Usar un token JWT existente
python cve-2025-65900.py http://target.com:2727 -u readonly_user -p readonly_pass -a "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
Descargo de responsabilidad: 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.