Every CVE Search/ Get API key

CVE-2024-53984

Nanopb does not release memory on error return when using PB_DECODE_DELIMITED

4.3 MediumFix available

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
Low

Exploit likelihood

0.41%Up 0.4 points since Dec 3, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.3

Nanopb does not release memory on error return when using PB_DECODE_DELIMITED

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Record
CVE-2024-53984
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-401, CWE-755
Updated
2026-11-02
EUVDEUVD-2024-52228 4.3

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Record
EUVD-2024-52228
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-03
NVD 4.3

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Record
CVE-2024-53984
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-401, CWE-755
Updated
2026-11-02
OSV 4.3

Nanopb does not release memory on error return when using PB_DECODE_DELIMITED

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Record
CVE-2024-53984
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Weakness
CWE-401, CWE-755
Updated
2026-11-02
OSVDEBIAN-CVE-2024-53984 4.3

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Record
DEBIAN-CVE-2024-53984
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2024-53984 4.3

Nanopb is a small code-size Protocol Buffers implementation. When the compile time option PB_ENABLE_MALLOC is enabled, the message contains at least one field with FT_POINTER field type, custom stream callback is used with unknown stream length. and the pb_decode_ex() function is used with flag PB_DECODE_DELIMITED, then the pb_decode_ex() function does not automatically call pb_release(), like is done for other failure cases. This could lead to memory leak and potential denial-of-service. This vulnerability is fixed in 0.4.9.1.

Record
UBUNTU-CVE-2024-53984
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Updated
2026-11-02
OSVopenSUSE-SU-2024:0400-1 No score

Security update for nanopb

This update for nanopb fixes the following issues:

  • CVE-2024-53984: Fix memory not released on error return (boo#1234088)
Record
openSUSE-SU-2024:0400-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
nanopb
Debian:12
All versions, plus listed versions
0.4.7-20.4.7-30.4.8-10.4.8-20.4.9-10.4.9.1-10.4.9.1-2
None known
nanopb
Debian:13
before 0.4.9.1-1
0.4.9.1-1
nanopb
Debian:14
before 0.4.9.1-1
0.4.9.1-1
nanopb
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
0.4.1-10.4.1-1ubuntu0.1~esm1
None known
nanopb
Ubuntu:22.04:LTS
All versions, plus listed versions
0.4.4-20.4.5-10.4.5-2
None known
nanopb
Ubuntu:24.04:LTS
All versions, plus listed versions
0.4.7-20.4.7-30.4.8-1
None known
nanopb
Ubuntu:25.10
All versions, plus listed versions
0.4.9.1-1
None known
nanopb
Ubuntu:26.10
All versions, plus listed versions
0.4.9.1-1build10.4.9.1-2
None known
nanopb
Ubuntu:26.04:LTS
All versions, plus listed versions
0.4.9.1-10.4.9.1-1build1
None known
nanopb
SUSE:Package Hub 15 SP6
before 0.4.6-bp156.4.3.1
0.4.6-bp156.4.3.1
nanopb
openSUSE:Leap 15.6
before 0.4.6-bp156.4.3.1
0.4.6-bp156.4.3.1

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-53984 is a medium vulnerability (CVSS 4.3) in Nanopb, published December 2, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. Fixed in nanopb 0.4.9.1-1.

References

Show 4 moreShow less
MoveEnter Open