Release of Invalid Pointer or Reference Affecting nanopb package, versions <0.4.4-2


Severity

Recommended
0.0
high
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.14% (50th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-DEBIAN11-NANOPB-1088960
  • published25 Mar 2021
  • disclosed23 Mar 2021

Introduced: 23 Mar 2021

CVE-2021-21401  (opens in a new tab)
CWE-763  (opens in a new tab)

How to fix?

Upgrade Debian:11 nanopb to version 0.4.4-2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream nanopb package and not the nanopb package as distributed by Debian. See How to fix? for Debian:11 relevant fixed versions and status.

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.

CVSS Scores

version 3.1