PT-2022-20584 · Openzeppelin · Openzeppelin Contracts
Frangio
·
Publicado
2022-07-21
·
Atualizado
2022-08-01
·
CVE-2022-31170
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.0.0 a 4.7.1
Descrição
O problema diz respeito ao ERC165Checker no OpenZeppelin Contracts, que pode retornar um valor diferente de
false em determinadas condições. Especificamente, isso ocorre quando um contrato de destino não implementa o EIP-165 conforme esperado e retorna um valor diferente de 0 ou 1. Os contratos que podem ser afetados são aqueles que usam ERC165Checker para verificar o suporte a uma interface e, em seguida, lidam com a falta de suporte de uma forma diferente da reversão.Recomendações
Para as versões 4.0.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 contrato para lidar com a falta de suporte de uma maneira que não dependa do valor de retorno de
ERC165Checker.supportsInterface. Restrinja o acesso à função ERC165Checker para minimizar o risco de exploração até que o problema seja resolvido.Exploit
Correção
Unchecked Return Value
RCE
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Openzeppelin Contracts