PT-2022-20584 · Openzeppelin · Openzeppelin Contracts

Frangio

·

Publicado

2022-07-21

·

Atualizado

2022-08-01

·

CVE-2022-31170

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.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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-31170
GHSA-QH9X-GCFH-PCRW

Produtos afetados

Openzeppelin Contracts