PT-2020-18331 · Nanopb · Nanopb

Publicado

2020-02-04

·

Atualizado

2024-06-15

·

CVE-2020-5235

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do Nanopb anteriores à 0.4.1
Versões do Nanopb anteriores à 0.3.9.5
Versões do Nanopb anteriores à 0.2.9.4
Descrição
Existe uma condição de falta de memória potencialmente explorável no Nanopb. Quando o Nanopb é compilado com PB ENABLE MALLOC, a mensagem a ser decodificada contém uma string, bytes ou campo de mensagem repetidos, e a função realloc() fica sem memória ao expandir a matriz. O Nanopb pode acabar chamando free() em um valor de ponteiro proveniente de memória não inicializada. Dependendo da plataforma, isso pode resultar em uma falha ou em corrupção adicional de memória, o que pode ser explorável em alguns casos.
Recomendações
Para versões anteriores à 0.4.1, atualize para o nanopb-0.4.1 para corrigir o problema.
Para versões anteriores à 0.3.9.5, atualize para o nanopb-0.3.9.5 para corrigir o problema.
Para versões anteriores à 0.2.9.4, atualize para o nanopb-0.2.9.4 para corrigir o problema.
Como solução alternativa temporária, considere desativar a opção de compilação PB ENABLE MALLOC até que um patch esteja disponível.

Correção

Out of bounds Read

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-5235
GHSA-GCX3-7M76-287P
OPENSUSE-SU-2024:11074-1

Produtos afetados

Nanopb