Openzeppelin · Openzeppelin Contracts · CVE-2022-35961
**Nome do software vulnerável e versões afetadas**
Versões do OpenZeppelin Contracts anteriores à 4.7.3
**Descrição**
As funções `ECDSA.recover` e `ECDSA.tryRecover` estão vulneráveis à maleabilidade de assinatura, pois aceitam assinaturas compactas EIP-2098 além do formato tradicional de assinatura de 65 bytes. Este problema afeta contratos que implementam a reutilização de assinaturas ou proteção contra repetição, marcando a própria assinatura como usada, em vez da mensagem assinada ou de um nonce incluído nela. Um usuário pode enviar uma assinatura usada anteriormente de uma forma diferente, contornando essa proteção.
**Recomendações**
Para versões anteriores à 4.7.3, atualize para a versão 4.7.3 para resolver o problema. Como solução temporária, considere modificar os contratos para implementar a reutilização de assinaturas ou a proteção contra repetição, marcando a mensagem assinada ou um nonce incluído nela como usado, em vez da própria assinatura. Restrinja o acesso às funções `ECDSA.recover` e `ECDSA.tryRecover` para minimizar o risco de exploração.