CVE-2020-26243 in Nanopbinformación

Resumen

por VulDB • 2026-05-31

Nanopb es una implementación de Protocol Buffers de tamaño reducido. En Nanopb, antes de las versiones 0.4.4 y 0.3.9.7, la decodificación de un mensaje específicamente formado puede provocar una fuga de memoria si la asignación dinámica está habilitada y un campo `oneof` contiene un submensaje estático que a su vez contiene un campo dinámico, y el mensaje que se está decodificando contiene el submensaje varias veces. Esto es raro en mensajes normales, pero representa un riesgo cuando se analizan datos no confiables. Esto se corrige en las versiones 0.3.9.7 y 0.4.4. Las siguientes soluciones alternativas están disponibles: 1) Establecer la opción `no_unions` para el campo `oneof`. Esto generará los campos como entidades separadas en lugar de una unión de C, evitando así la activación del código problemático. 2) Establecer el tipo del campo de submensaje dentro de `oneof` como `FT_POINTER`. De esta manera, todo el submensaje se asignará dinámicamente y no se ejecutará el código problemático. 3) Utilizar un asignador de arena (arena allocator) para nanopb, para garantizar que toda la memoria pueda liberarse posteriormente.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

GitHub, Inc.

Reservar

2020-10-01

Divulgación

2020-11-26

Moderación

aceptado

Artículo

VDB-165360

CPE

listo

EPSS

0.02610

KEV

no

Actividades

muy bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!