PT-2022-23060 · Openzeppelin · Openzeppelin Contracts

Frangio

·

Publicado

2022-08-14

·

Atualizado

2026-03-26

·

CVE-2022-35961

CVSS v3.1

7.9

Alta

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-35961
GHSA-4H98-2769-GH6H
GHSA-Q67F-28XG-22RW

Produtos afetados

Openzeppelin Contracts