CVEvulnerability

CVE-2020-5235

9.8 CRITICAL Published 2020-02-04 Modified 2026-06-17 Official page ↗
Status
Modified
Published
2020-02-04
Last modified
2026-06-17
Assigner
[email protected]
CVSS 3.1 ([email protected])
6.5 MEDIUM — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L
CVSS 3.1 ([email protected])
9.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0 ([email protected])
7.5 HIGH — AV:N/AC:L/Au:N/C:P/I:P/A:P
Weaknesses
CWE-125

Description

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.

Affected configurations

• nanopb project nanopb (< 0.2.9.4) • nanopb project nanopb (>= 0.3.0 < 0.3.9.5) • nanopb project nanopb (>= 0.4.0 < 0.4.1)

Related

Weakness · CWE (1)

  • CWE-125 Out-of-bounds Read weakness

References