CVE-2020-26243 in Nanopbinformazioni

Riassunto

di VulDB • 16/06/2026

Nanopb è un'implementazione di Protocol Buffers con una dimensione del codice ridotta. In Nanopb, prima delle versioni 0.4.4 e 0.3.9.7, la decodifica di un messaggio appositamente strutturato può causare una perdita di memoria se l'allocazione dinamica è abilitata e un campo oneof contiene un sotto-messaggio statico che a sua volta contiene un campo dinamico, e il messaggio in fase di decodifica contiene il sotto-messaggio più volte. Questo scenario è raro nei messaggi normali, ma rappresenta un problema quando vengono analizzati dati non attendibili. Il problema è stato risolto nelle versioni 0.3.9.7 e 0.4.4. Sono disponibili le seguenti contromisure: 1) Impostare l'opzione `no_unions` per il campo oneof. Questo genererà i campi come entità separate invece che come unioni C, evitando l'esecuzione del codice problematico. 2) Impostare il tipo del campo del sotto-messaggio all'interno di oneof su `FT_POINTER`. In questo modo l'intero sotto-messaggio verrà allocato dinamicamente e il codice problematico non verrà eseguito. 3) Utilizzare un allocator di tipo arena per nanopb, per garantire che tutta la memoria possa essere rilasciata successivamente.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

GitHub, Inc.

Prenotare

01/10/2020

Divulgazione

26/11/2020

Moderazione

accettato

CPE

pronto

EPSS

0.02610

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!