Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en mpp de ZenHive (CVE-2026-59252)

Gravedad CVSS v4.0:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
17/07/2026
Última modificación:
24/10/2026

Descripción

Validación Incorrecta de Cantidad Especificada en la Entrada en ZenHive mpp permite a un cliente remoto no autenticado vaciar la billetera del pagador de tarifas, lo que resulta en denegación de servicio para clientes legítimos.<br /> <br /> Cuando la biblioteca mpp Elixir está configurada como pagador de tarifas (fee_payer: true), el método de pago MPP.Methods.Tempo co-firma y transmite una transacción EVM suministrada por el cliente sin validar primero que el gas_limit suministrado por el cliente sea suficiente para completar la llamada prevista. Un cliente malicioso puede enviar una transacción transferWithMemo firmada con el gas_limit deliberadamente establecido justo por debajo de la cantidad requerida para una ejecución exitosa. El servidor co-firma la transacción y la transmite a través de rpc_broadcast_sync. La transacción se queda sin gas durante la ejecución de EVM y se revierte, pero a la billetera del pagador de tarifas aún se le cobra por el gas quemado mientras que el cliente no paga nada y no recibe ningún recurso. Solicitudes repetidas de uno o más clientes maliciosos vacían la billetera del pagador de tarifas a un costo casi nulo para el atacante, lo que en última instancia impide que el servidor patrocine gas para solicitudes de pago legítimas.<br /> <br /> La ruta wait_for_confirmation = false (optimista) también se ve afectada: invoca simulate_payment_call a través de eth_call, pero esa simulación omite el parámetro gas y por lo tanto no detecta las condiciones de falta de gas.<br /> <br /> Este problema afecta a mpp: desde 0.2.0 antes de 0.6.0.