PT-2022-28259 · Openzeppelin · Openzeppelin Contracts+1

Publicado

2022-01-13

·

Atualizado

2022-01-13

Nenhuma

Não há classificações de severidade ou métricas disponíveis. Quando houver, atualizaremos as informações correspondentes na página.
Nome do software vulnerável e versões afetadas
Versões do @openzeppelin/contracts anteriores à v4.4.2
Versões do @openzeppelin/contracts-upgradeable anteriores à v4.4.2
Descrição
O problema decorre do módulo GovernorCompatibilityBravo, que pode levar à criação de propostas de governança que executam chamadas de função com argumentos incorretos devido a uma codificação ABI incorreta. Isso ocorre quando uma proposta é criada usando assinaturas de função explícitas. Por exemplo, uma proposta para invocar a função foo(uint256) criada como propose([target],[0],[“foo(uint256)”],[“0x00..01”]) é vulnerável. No entanto, se o seletor de função for fornecido como parte dos dados codificados da proposta, o problema não ocorre. Nenhuma ocorrência desse bug foi encontrada no passado, e a criação de propostas por meio do Tally ou do OpenZeppelin Defender não é afetada. O contrato principal Governor, por si só, também não é afetado.
Recomendações
Para versões do @openzeppelin/contracts anteriores à v4.4.2, atualize para a versão v4.4.2 ou posterior.
Para versões do @openzeppelin/contracts-upgradeable anteriores à v4.4.2, atualize para a versão v4.4.2 ou posterior.
Como solução alternativa temporária, não crie propostas usando assinaturas de função explícitas. Em vez disso, use a função propose sem o argumento signatures e crie a proposta usando a chamada de função totalmente codificada em ABI, incluindo o seletor de função no argumento calldatas.
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

GHSA-M6W8-FQ7V-PH4M

Produtos afetados

Openzeppelin Contracts
@Openzeppelin/Contracts-Upgradeable