PT-2022-20586 · Openzeppelin · Openzeppelin Contracts
Frangio
·
Publicado
2022-07-21
·
Atualizado
2022-08-01
·
CVE-2022-31172
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Nome do software vulnerável e versões afetadas
OpenZeppelin Contracts, versões 4.1.0 a 4.7.1
Descrição
O problema diz respeito ao SignatureChecker reverter em certos casos, o que não é esperado. Isso ocorre devido a uma suposição incorreta sobre o
abi.decode do Solidity 0.8, especificamente quando um contrato de destino não implementa o EIP-1271 conforme esperado. Os contratos que podem ser afetados são aqueles que utilizam o SignatureChecker para verificar a validade da assinatura e lidar com assinaturas inválidas de uma forma diferente da reversão.Recomendações
Para as versões 4.1.0 a 4.7.1, atualize para a versão 4.7.1 para resolver o problema. Como solução alternativa temporária, considere modificar o tratamento de assinaturas inválidas em contratos que usam
SignatureChecker para evitar a reversão. Restrinja o uso de SignatureChecker.isValidSignatureNow até que a atualização seja aplicada.Exploit
Correção
Improper Verification of Cryptographic Signature
RCE
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Openzeppelin Contracts