E.Fu

#3772de 56,328
72.9CVSS total
Vulnerabilidades · 9
Média
1
Alta
8
PT-2026-86538
8.3
2026-09-06
Zenhive · Zenhive Mpp · CVE-2026-82750
**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.
PT-2026-86539
8.3
2026-09-06
Zenhive · Zenhive Mpp · CVE-2026-82751
**Nome do Software Vulnerável e Versões Afetadas** ZenHive mpp versões 0.2.0 até 0.16.0 **Descrição** A validação inadequada de quantidades de entrada permite que um cliente remoto não autenticado aumente significativamente o custo de gas para um patrocinador durante 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, orçamentos de taxa, janelas de validade e listas de acesso do envelope 0x76 assinado pelo cliente, ela não verifica o campo opcional `key authorization`. Um invasor pode anexar uma autorização de chave assinada a uma chamada de pagamento para provisionar uma nova chave de acesso com limites de gastos de tokens em sua própria conta. Essas operações são cobradas como gas intrínseco ao patrocinador, podendo aumentar o custo de aproximadamente 46.587 gas para 1.808.700 gas por pagamento. **Recomendações** 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 os clientes paguem 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.
PT-2026-78539
6.3
2026-08-19
Zenhive · Zenhive Mpp · CVE-2026-73829
**Nome do Software Vulnerável e Versões Afetadas** ZenHive mpp versões 0.2.0 até 0.6.0 **Description** Uma condição de corrida de Time-of-check Time-of-use (TOCTOU) existe, permitindo que um cliente remoto não autenticado resgate um único pagamento confirmado on-chain para múltiplos acessos a recursos pagos. Isso ocorre no caminho de credencial `type="hash"` dentro da função `MPP.Methods.Tempo.verify/2`, que utiliza uma sequência de verificação-e-marcação não atômica. Especificamente, a função `check hash unused/2` lê a loja de deduplicação e, após uma viagem de ida e volta do `eth getTransactionReceipt` verificar o pagamento on-chain, a função `mark hash used/2` grava a marcação. Solicitações simultâneas usando o mesmo hash de pagamento liquidado podem passar pela leitura inicial antes que qualquer gravação ocorra, resultando na emissão de múltiplos recibos. Embora um primitivo atômico `check and mark/2` esteja disponível e seja usado pelo caminho `type="transaction"`, o caminho de hash utiliza incorretamente operações simples de get e put. Este problema requer que uma loja de deduplicação esteja configurada, pois a loja nil padrão é stateless e não oferece proteção contra replay. **Recommendations** Atualize o ZenHive mpp para a versão 0.6.1. Como mitigação temporária, restrinja o uso do caminho de credencial `type="hash"` na função `MPP.Methods.Tempo.verify/2` até que a atualização seja aplicada.