CVE-2020-26243 Detail
This vulnerability is currently undergoing analysis and not all information is available. Please check back soon to view the completed vulnerability summary.
Description
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.
Severity
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving NIST webspace. We have provided these links to other web sites because they may have information that would be of interest to you. No inferences should be drawn on account of other sites being referenced, or not, from this page. There may be other web sites that are more appropriate for your purpose. NIST does not necessarily endorse the views expressed, or concur with the facts presented on these sites. Further, NIST does not endorse any commercial products that may be mentioned on these sites. Please address comments about this page to [email protected].
Weakness Enumeration
CWE-ID | CWE Name | Source |
---|---|---|
CWE-119 | Improper Restriction of Operations within the Bounds of a Memory Buffer | GitHub, Inc. |
CWE-20 | Improper Input Validation | GitHub, Inc. |
Change History
0 change records found show changes
Quick Info
CVE Dictionary Entry:
CVE-2020-26243
NVD Published Date:
11/25/2020
NVD Last Modified:
11/27/2020
Source:
GitHub, Inc.