Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

CVE-2020-26243

Published: 25 November 2020

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.

Priority

Medium

Cvss 3 Severity Score

7.5

Score breakdown

Status

Package Release Status
nanopb
Launchpad, Ubuntu, Debian
groovy Ignored
(end of life)
hirsute Not vulnerable
(0.4.4-1)
bionic Does not exist

focal
Released (0.4.1-1ubuntu0.1~esm1)
Available with Ubuntu Pro
impish Not vulnerable
(0.4.4-1)
jammy Not vulnerable
(0.4.4-1)
kinetic Not vulnerable
(0.4.4-1)
lunar Not vulnerable
(0.4.4-1)
trusty Does not exist

upstream
Released (0.3.9.7, 0.4.4)
xenial Does not exist

mantic Not vulnerable
(0.4.4-1)

Severity score breakdown

Parameter Value
Base score 7.5
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Scope Unchanged
Confidentiality None
Integrity impact None
Availability impact High
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H