CVE catalog

CVE-2020-26243

nanopb: CVE-2020-26243

[CVE catalog]

Severity
High · CVSS 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Published
Source
[NVD] · [CVE record]
EPSS
2.66% · Oct 25, 2026

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.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debiannanopbsid0.4.9.1-2fixed
Debiannanopbforky0.4.9.1-2fixed
Debiannanopbtrixie0.4.9.1-1fixed
Debiannanopbbookworm0.4.7-2fixed
Ubuntunanopbpro0.4.1-1vulnerable
Ubuntunanopbpro0.4.1-1ubuntu0.1~esm1fixed
Ubuntunanopbpro0.4.1-1vulnerable
Ubuntunanopbpro0.4.1-1ubuntu0.1~esm1fixed
Opensusenanopbtumbleweed0.4.5-1.3fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debiannanopbsourcesid0.4.4-1not yet assignedNot reported[975838]
Debiannanopbsourceforky0.4.4-1not yet assignedNot reported[975838]
Debiannanopbsourcetrixie0.4.4-1not yet assignedNot reported[975838]
Debiannanopbsourcebookworm0.4.4-1not yet assignedNot reported[975838]
Ubuntunanopbdebpro0.4.1-1ubuntu0.1~esm1Not reportedUBUNTU-CVE-2020-26243Not reported
Ubuntunanopbdebpro0.4.1-1ubuntu0.1~esm1Not reportedUSN-6121-1Not reported
Opensusenanopbrpmtumbleweed0.4.5-1.3Not reportedOPENSUSE-SU-2024:11074-1Not reported

[Debian bug #975838]

OpenFactory catalog packages

[openSUSE Tumbleweed]

  • Source package: [nanopb]

    Details (1)
    • 0.4.9.1-1.8 · x86_64 · tumbleweed

      Unknown · Fixed: 0.4.5-1.3

      Version impact unknown

      dsa · nanopb · opensuse · tumbleweed

  • [nanopb-devel]Unknown

    Source package: [nanopb]

    Details (1)
    • 0.4.9.1-1.8 · x86_64 · tumbleweed

      Unknown · Fixed: 0.4.5-1.3

      Version impact unknown

      dsa · nanopb · opensuse · tumbleweed

  • [nanopb-source]Unknown

    Source package: [nanopb]

    Details (1)
    • 0.4.9.1-1.8 · noarch · tumbleweed

      Unknown · Fixed: 0.4.5-1.3

      Version impact unknown

      dsa · nanopb · opensuse · tumbleweed

[Debian 12 (Bookworm)]

  • Source package: [nanopb]

    Details (2)
    • 0.4.7-2 · amd64 · bookworm

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · bookworm; dsa · nanopb · debian · 12

    • 0.4.7-2 · arm64 · bookworm

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · bookworm; dsa · nanopb · debian · 12

  • [nanopb]Fixed
    Details (2)
    • 0.4.7-2 · all · bookworm

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · bookworm; dsa · nanopb · debian · 12

    • 0.4.7-2 · all · bookworm

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · bookworm; dsa · nanopb · debian · 12

[Debian 13 (Trixie)]

  • Source package: [nanopb]

    Details (2)
    • 0.4.9.1-1 · amd64 · trixie

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · 13

    • 0.4.9.1-1 · arm64 · trixie

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · 13

  • [nanopb]Fixed
    Details (2)
    • 0.4.9.1-1 · all · trixie

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · 13

    • 0.4.9.1-1 · all · trixie

      Fixed · Fixed: 0.4.4-1

      dsa · nanopb · debian · 13

Observed:

References