CVE-2020-26243 in Nanopbinformation

Résumé

par VulDB • 05/06/2026

Nanopb est une implémentation de Protocol Buffers à faible empreinte mémoire. Dans les versions de Nanopb antérieures aux versions 0.4.4 et 0.3.9.7, le décodage d'un message spécifiquement conçu peut entraîner une fuite de mémoire si l'allocation dynamique est activée et qu'un champ `oneof` contient un sous-message statique qui lui-même comporte un champ dynamique, et que le message en cours de décodement contient ce sous-message à plusieurs reprises. Ce cas est rare dans les messages normaux, mais il constitue une préoccupation lors du traitement de données non fiables. Cela a été corrigé dans les versions 0.3.9.7 et 0.4.4. Les contournements suivants sont disponibles :

1) Définir l'option `no_unions` pour le champ `oneof`. Cela génère des champs séparés au lieu d'une union C, évitant ainsi de déclencher le code problématique. 2) Définir le type du champ de sous-message à l'intérieur de `oneof` sur `FT_POINTER`. De cette manière, tout le sous-message sera alloué dynamiquement et le code problématique ne sera pas exécuté. 3) Utiliser un allocateur d'arène (arena allocator) pour Nanopb, afin de s'assurer que toute la mémoire peut être libérée par la suite.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

GitHub, Inc.

Réserver

01/10/2020

Divulgation

26/11/2020

Modérer

accepté

Entrée

VDB-165360

CPE

prêt

EPSS

0.02610

KEV

non

Activités

très faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!