Início
Tendências
Vulnerabilidades
Notícias
Pesquisadores
Por que dbugs?

Rholterhus

#37956de 53,633
7.4CVSS total
Vulnerabilidades · 1
PT-2024-21645
7.4
2024-02-29
Openzeppelin · Openzeppelin Contracts · CVE-2024-27094
**Nome do software vulnerável e versões afetadas** Versões do OpenZeppelin Contracts anteriores à 4.9.6 Versões do OpenZeppelin Contracts anteriores à 5.0.2 **Descrição** A função `Base64.encode` no OpenZeppelin Contracts codifica uma entrada `bytes` iterando sobre ela em blocos de 3 bytes. Quando essa entrada não é um múltiplo de 3, a última iteração pode ler partes da memória que estão além do buffer de entrada. Embora a função `encode` preencha a saída nesses casos, até 4 bits de dados são mantidos entre a codificação e o preenchimento, corrompendo a saída se esses bits estiverem corrompidos. Esse problema pode ocorrer com mais frequência em certos cenários, como quando uma estrutura `bytes memory` é alocada logo após a entrada e os primeiros bytes dela são diferentes de zero, ou quando o ponteiro de memória é definido para um local de memória não vazio antes de alocar a entrada. Os desenvolvedores devem avaliar se os bits extras podem ser manipulados de forma maliciosa por um invasor. **Recomendações** Para versões anteriores à 4.9.6, atualize para a 4.9.6. Para versões anteriores à 5.0.2, atualize para a 5.0.2. Como solução temporária, considere restringir o uso da função `Base64.encode` até que um patch seja aplicado.