CVE-2021-21401 (High) detected in nanopb/decode-1.30906.0, nanopb-1.30906.0
Closed this issue · 0 comments
CVE-2021-21401 - High Severity Vulnerability
Vulnerable Libraries - nanopb/decode-1.30906.0, nanopb-1.30906.0
nanopb/decode-1.30906.0
Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.
Library home page: https://github.com/nanopb/nanopb/archive/0.3.9.6.zip
Path to dependency file: nuenenen/ios/Podfile.lock
Path to vulnerable library: nuenenen/ios/Podfile.lock
Dependency Hierarchy:
- firebase_core-0.5.3 (Root Library)
- Firebase/CoreOnly-6.33.0
- FirebaseCore-6.10.3
- FirebaseCoreDiagnostics-1.7.0
- GoogleDataTransport-7.5.1
- nanopb-1.30906.0
- ❌ nanopb/decode-1.30906.0 (Vulnerable Library)
- nanopb-1.30906.0
- GoogleDataTransport-7.5.1
- FirebaseCoreDiagnostics-1.7.0
- FirebaseCore-6.10.3
- Firebase/CoreOnly-6.33.0
nanopb-1.30906.0
Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.
Library home page: https://github.com/nanopb/nanopb/archive/0.3.9.6.zip
Path to dependency file: nuenenen/ios/Podfile.lock
Path to vulnerable library: nuenenen/ios/Podfile.lock
Dependency Hierarchy:
- firebase_core-0.5.3 (Root Library)
- Firebase/CoreOnly-6.33.0
- FirebaseCore-6.10.3
- FirebaseCoreDiagnostics-1.7.0
- GoogleDataTransport-7.5.1
- ❌ nanopb-1.30906.0 (Vulnerable Library)
- GoogleDataTransport-7.5.1
- FirebaseCoreDiagnostics-1.7.0
- FirebaseCore-6.10.3
- Firebase/CoreOnly-6.33.0
Found in HEAD commit: b3b668f4977d27ec208c2f2043c38c4c9ad83eb0
Found in base branch: master
Vulnerability 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.
Publish Date: 2021-03-23
URL: CVE-2021-21401
CVSS 3 Score Details (7.1)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: Low
- User Interaction: None
- Scope: Unchanged
- Impact Metrics:
- Confidentiality Impact: None
- Integrity Impact: High
- Availability Impact: Low
Suggested Fix
Type: Upgrade version
Origin: GHSA-7mv5-5mxh-qg88
Release Date: 2021-03-23
Fix Resolution: nanopb - 0.3.9.8,0.4.5
Step up your Open Source Security Game with WhiteSource here