CVE-2020-5235

Out-of-memory condition in Nanopb is potentially exploitable

State
Published
Severity
6.5 Medium
Published
Feb 4, 2020
Updated
Aug 4, 2024
Reserved
Jan 2, 2020

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.16.5 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:LGitHub_M

Weaknesses

Affected Products

ProductVersions
Nanopbnanopb
  • < 0.2.9.4Affected
  • >= 0.3.0, < 0.3.9.5Affected
  • >= 0.4.0, < 0.4.1Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.