CVE-2021-21401

See a problem?
Source
https://nvd.nist.gov/vuln/detail/CVE-2021-21401
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-21401.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-21401
Aliases
Related
Published
2021-03-23T18:15:13Z
Modified
2024-05-30T02:48:00.564033Z
Severity
  • 7.1 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L CVSS Calculator
Summary
[none]
Details

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.

References

Affected packages

Git / github.com/nanopb/nanopb

Affected ranges

Type
GIT
Repo
https://github.com/nanopb/nanopb
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

0.*

0.3.6
0.3.7
0.3.8
0.3.9
0.3.9.2
0.4.0
0.4.1
0.4.2
0.4.3
0.4.4

nanopb-0.*

nanopb-0.1.0
nanopb-0.1.1
nanopb-0.1.2
nanopb-0.1.3
nanopb-0.1.4
nanopb-0.1.5
nanopb-0.1.6
nanopb-0.1.7
nanopb-0.1.8
nanopb-0.1.9
nanopb-0.2.0
nanopb-0.2.1
nanopb-0.2.2
nanopb-0.2.3
nanopb-0.2.4
nanopb-0.2.5
nanopb-0.2.6
nanopb-0.2.7
nanopb-0.2.8
nanopb-0.2.9
nanopb-0.3.0
nanopb-0.3.1
nanopb-0.3.2
nanopb-0.3.3
nanopb-0.3.4
nanopb-0.3.5
nanopb-0.3.6
nanopb-0.3.7
nanopb-0.3.8
nanopb-0.3.9
nanopb-0.3.9.2
nanopb-0.4.0
nanopb-0.4.0-dev
nanopb-0.4.1
nanopb-0.4.2
nanopb-0.4.3
nanopb-0.4.4