CVE-2021-21401

Summary

CVECVE-2021-21401
StatePUBLIC
Assigner[email protected]
Source PriorityCVE Program / NVD first with legacy fallback
Published2021-03-23 18:15:00 UTC
Updated2021-03-29 14:50:00 UTC
DescriptionNanopb 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.

Risk And Classification

Problem Types: CWE-763

NVD Known Affected Configurations (CPE 2.3)

TypeVendorProductVersionUpdateEditionLanguage
Application Nanopb Project Nanopb All All All All

References

ReferenceSourceLinkTags
nanopb/CHANGELOG.txt at c9124132a604047d0ef97a09c0e99cd9bed2c818 · nanopb/nanopb · GitHub MISC github.com
Ill-formed oneof message leads to calling free on an arbitrary pointer · Issue #647 · nanopb/nanopb · GitHub MISC github.com
Invalid free() call with oneofs and PB_ENABLE_MALLOC · Advisory · nanopb/nanopb · GitHub CONFIRM github.com
Fix invalid free() with oneof (#647) · nanopb/nanopb@e2f0ccf · GitHub MISC github.com
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

Legacy QID Mappings

  • 179476 Debian Security Update for nanopb (CVE-2021-21401)
  • 199489 Ubuntu Security Notification for Nanopb Vulnerabilities (USN-6121-1)
© CVE.report 2026 |

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

CVE.report and Source URL Uptime Status status.cve.report