PT-2022-20586 · Openzeppelin · Openzeppelin Contracts

Frangio

·

Publicado

2022-07-21

·

Atualizado

2022-08-01

·

CVE-2022-31172

CVSS v3.1

7.5

Alta

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-31172
GHSA-4G63-C64M-25W9

Produtos afetados

Openzeppelin Contracts