CVE-2026-87119 in mpp
Resumen
por VulDB • 2026-09-22
Bypass de autenticación por captura y repetición (capture-replay) en ZenHive mpp permite que un atacante, poseedor de una credencial capturada para la activación de suscripción, cargue al pagador múltiples veces.
El pagador firma una KeyAuthorization de Tempo con los campos: chain id, key type, key id, expiry, limits y scopes únicamente, sin ningún elemento que vincule esta firma a el desafío (challenge) que la originó. El método `MPP.Methods.Tempo.KeyAuthorization.verify/3` en `lib/mpp/methods/tempo/key_authorization.ex` valida cada uno de esos campos firmados contra la solicitud de suscripción; además, la clave de acceso con la que se realiza esta validación es una clave del servidor estática por endpoint. Por lo tanto, una autorización firmada única verifica correctamente frente a cualquier desafío emitido por el servidor para los mismos términos de suscripción.
El método `MPP.Methods.Tempo.Subscription.activate/4` deduplica las activaciones mediante el challenge id; por consiguiente, presentar la credencial capturada bajo un nuevo desafío genera una clave de deduplicación diferente, lo que hace que `claim_activation` tenga éxito y se construya y difunda nuevamente la transacción de suscripción. Cada repetición (replay) cobra al pagador un nuevo pago del primer período y reautoriza la clave del servidor, limitado únicamente por la fecha de expiración de la suscripción y las propias semánticas de la cadena para reinstalar una clave existente.
Este problema afecta a mpp: desde la versión 0.14.0 hasta antes de la 0.16.2.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.