
Zcash corrigiu uma grande vulnerabilidade que teria permitido a agentes mal-intencionados drenar fundos do pool blindado (shielded pool) Sprout descontinuado do protocolo.
Um relatório de divulgação do pesquisador de segurança Alex “Scalar” Sol, publicado na terça-feira, afirma que uma falha crítica foi descoberta nos nós zcashd que resultava na ignorância da verificação de prova para transações envolvendo o pool Sprout legado.
O pool Sprout da Zcash é o "shielded pool" original que foi lançado com a rede em 2016. Foi a primeira implementação de provas de conhecimento zero (zk-SNARKs) em uma criptomoeda de produção, permitindo que os usuários enviassem e recebessem ZEC de forma privada.
Embora o pool tenha sido fechado para novos depósitos em novembro de 2020, ele ainda detém aproximadamente 25.424 ZEC, que ainda não foram migrados para versões mais recentes de shielded pool.
De acordo com a divulgação, a vulnerabilidade abrangia lançamentos de julho de 2020 em diante, mas foi corrigida através da v6.12.0, que foi lançada na terça-feira. Até agora, a falha não foi explorada, e os fundos dos usuários permanecem seguros.
Grandes pools de mineração, incluindo Luxor, F2Pool, ViaBTC e AntPool, já implementaram a correção até 26 de março, acrescentou o relatório.
O relatório acrescentou que a implementação do nó completo Zebra não foi afetada. No caso de uma tentativa de exploração, isso teria resultado em uma bifurcação da cadeia (chain fork), atuando como uma salvaguarda adicional.
Apesar da gravidade do problema, a Equipe de Desenvolvimento Aberto da Zcash esclareceu que o mecanismo de "catraca" (turnstile) da rede, que impõe que quaisquer moedas que saiam do pool Sprout devem ter entrado nele anteriormente, teria impedido uma inflação mais ampla da oferta.
Para a rede Zcash, esta é a segunda vez que uma vulnerabilidade crítica e sistêmica é descoberta em seus shielded pools. Em 2019, a equipe da Zcash divulgou um bug de "falsificação" (counterfeiting), uma falha na criptografia subjacente que poderia ter permitido a um atacante criar uma quantidade infinita de ZEC sem detecção.