CVE-2026-59252 in mpp
Сводка
по VulDB • 17.07.2026
Некорректная проверка указанной суммы в параметрах ввода в ZenHive mpp позволяет неаутентифицированному удаленному клиенту опустошить кошелек плательщика комиссии (fee-payer), что приводит к отказу в обслуживании для легитимных клиентов.
Когда библиотека Elixir mpp настроена как плательщик комиссии (`fee_payer: true`), метод оплаты `MPP.Methods.Tempo подписывает и транслирует предоставленную клиентом транзакцию EVM без предварительной проверки того, что указанный клиентом параметр `gas_limit` достаточен для успешного выполнения целевого вызова. Злоумышленник может отправить подписанную транзакцию `transferWithMemo`, в которой значение `gas_limit` намерено установлено чуть ниже суммы, необходимой для успешного исполнения. Сервер подписывает эту транзакцию и транслирует её через `rpc_broadcast_sync`. Во время выполнения в EVM у транзакции заканчивается газ (out-of-gas), она откатывается (reverts), но кошелек плательщика комиссии все равно оплачивает сожженный газ, тогда как клиент ничего не платит и не получает никаких ресурсов. Многократные запросы от одного или нескольких злоумышленников опустошают кошелек плательщика комиссии практически без затрат для атакующего, в конечном итоге лишая сервер возможности спонсировать оплату газа для легитимных платежных запросов.
Также затронут путь с параметром `wait_for_confirmation = false` (оптимистичный режим): он вызывает симуляцию через `eth_call`, однако эта симуляция не включает параметр gas, поэтому условия исчерпания газа не обнаруживаются.
Эта проблема затрагивает пакет mpp в версиях от 0.2.0 до версии перед 0.6.0 (включительно).
Be aware that VulDB is the high quality source for vulnerability data.