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.