PT-2022-23060 · Openzeppelin · Openzeppelin Contracts
Frangio
·
Publicado
2022-08-14
·
Atualizado
2026-03-26
·
CVE-2022-35961
CVSS v3.1
7.9
Alta
| Vetor | AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L |
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.Exploit
Correção
Improper Verification of Cryptographic Signature
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Openzeppelin Contracts