Approved changes feed: RSS · Atom

cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:*

part: a version: * update: *

VendorNanopb Project (4e0bf8e1-4e5c-5d64-bd6a-b2d5f42edaf5)
ProductNanopb (3b098e40-c934-5da8-b1d3-c6e7278fcc3e)
Edition*
Language*
Software edition*
Target software*
Target hardware*
Other*

Notes

Imported from purl2cpe mapping

PURL mappings

PURLSourceLast updated
pkg:deb/debian/nanopb purl2cpe 2026-06-01 10:12:34.212578
pkg:deb/ubuntu/nanopb purl2cpe 2026-06-01 10:12:34.212580
pkg:github/nanopb/nanopb purl2cpe 2026-06-01 10:12:34.212581
pkg:rpm/opensuse/nanopb purl2cpe 2026-06-01 10:12:34.212583

Vulnerability references

IdentifiercpeApplicabilitySubmitteddb.gcve.eu detailsRationale
CVE:CVE-2021-21401 vulnerable 2026-06-08 05:29:11.948093 Invalid free() call in Nanopb
HIGH (7.1)
Nanopb is a small code-size Protocol Buffers implementation in ansi C. In Nanopb before versions 0.3.9.8 and 0.4.5, decoding a specifically formed message can cause invalid `free()` or `realloc()` calls if the message type contains an `oneof` field, and the `oneof` directly contains both a pointer field and a non-pointer field. If the message data first contains the non-pointer field and then the pointer field, the data of the non-pointer field is incorrectly treated as if it was a pointer value. Such message data rarely occurs in normal messages, but it is a concern when untrusted data is parsed. This has been fixed in versions 0.3.9.8 and 0.4.5. See referenced GitHub Security Advisory for more information including workarounds.
Published: 2021-03-23T17:45:19.000Z
Updated: 2024-08-03T18:09:16.087Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2020-5235 vulnerable 2026-06-08 05:26:41.560451 Out-of-memory condition in Nanopb is potentially exploitable
MEDIUM (6.5)
There is a potentially exploitable out of memory condition In Nanopb before 0.4.1, 0.3.9.5, and 0.2.9.4. When nanopb is compiled with PB_ENABLE_MALLOC, the message to be decoded contains a repeated string, bytes or message field and realloc() runs out of memory when expanding the array nanopb can end up calling `free()` on a pointer value that comes from uninitialized memory. Depending on platform this can result in a crash or further memory corruption, which may be exploitable in some cases. This problem is fixed in nanopb-0.4.1, nanopb-0.3.9.5, nanopb-0.2.9.4.
Published: 2020-02-04T03:00:18.000Z
Updated: 2024-08-04T08:22:09.040Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2020-26243 vulnerable 2026-06-08 05:23:50.951544 Memory leak in nanopb
HIGH (7.5)
Nanopb is a small code-size Protocol Buffers implementation. In Nanopb before versions 0.4.4 and 0.3.9.7, decoding specifically formed message can leak memory if dynamic allocation is enabled and an oneof field contains a static submessage that contains a dynamic field, and the message being decoded contains the submessage multiple times. This is rare in normal messages, but it is a concern when untrusted data is parsed. This is fixed in versions 0.3.9.7 and 0.4.4. The following workarounds are available: 1) Set the option `no_unions` for the oneof field. This will generate fields as separate instead of C union, and avoids triggering the problematic code. 2) Set the type of the submessage field inside oneof to `FT_POINTER`. This way the whole submessage will be dynamically allocated and the problematic code is not executed. 3) Use an arena allocator for nanopb, to make sure all memory can be released afterwards.
Published: 2020-11-25T16:50:15.000Z
Updated: 2024-08-04T15:56:04.801Z
Reference links
Imported from gcve-enriched-dumps CVE data
CVE:CVE-2014-125106 vulnerable 2026-06-08 05:05:15.849073 Details available
Nanopb before 0.3.1 allows size_t overflows in pb_dec_bytes and pb_dec_string.
Published: 2023-06-17T00:00:00.000Z
Updated: 2024-12-17T15:49:54.192Z
Reference links
Imported from gcve-enriched-dumps CVE data

Contribute

You can submit an edit proposal for this CPE entry or suggest a related product/vendor addition using the action button above.

Inspect record JSON

Open JSON directly

Open this panel to browse, search, copy or download the JSON record.