PT-2026-86538 · Zenhive · Zenhive Mpp
CVSS v4.0
8.3
Alta
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
ZenHive mpp versões 0.2.0 até 0.16.0
Description
A validação inadequada de quantidades especificadas na entrada permite que um cliente remoto não autenticado aumente significativamente o custo de gas para o pagador de taxas em pagamentos patrocinados. O problema ocorre quando o servidor patrocina pagamentos Tempo através da função
MPP.Methods.Tempo.FeePayerPolicy.measure/3 em lib/mpp/methods/tempo/fee payer policy.ex. Embora a função limite os campos de gas, o orçamento de taxas, a janela de validade e a lista de acesso do envelope 0x76 assinado pelo cliente, ela não lê o campo aa authorization list. Consequentemente, um cliente pode anexar delegações de chaves de autoridade descartáveis, forçando o patrocinador a pagar o gas intrínseco por essas delegações dentro do teto padrão de gas limit. Isso pode resultar em custos que aumentam de aproximadamente 46.575 gas para 1.884.087 gas. Além disso, como cada entrada é aplicada como uma delegação de código persistente, um cliente pode atualizar suas próprias contas para código delegado às custas do patrocinador.Recommendations
Atualize o ZenHive mpp para a versão 0.16.1 ou posterior.
Desative o patrocínio de taxas do Tempo definindo
fee payer como false e removendo o fee payer url para que o cliente pague seu próprio gas.
Reduza a sobreposição de max gas em fee payer policy para um valor ligeiramente acima de um pagamento patrocinado legítimo (aproximadamente 50.000 gas para uma transferência TIP-20) para limitar a inflação potencial de gas.Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Zenhive Mpp