Missing Release of Memory after Effective Lifetime
CVE-2024-53984
Summary
Nanopb, a small code-size Protocol Buffers implementation, contains a vulnerability when the compile-time option "PB_ENABLE_MALLOC" is enabled. If a message includes at least one field with the "FT_POINTER" field type, a custom stream callback with an unknown stream length is used, and the "pb_decode_ex()" function is invoked with the "PB_DECODE_DELIMITED" flag. The "pb_decode_ex()" function does not automatically call "pb_release()" on failure. This oversight can result in memory leaks and potential denial-of-service scenarios. The vulnerability affects the nanopb package versions 0.4.x prior to 0.4.9.1.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- LOW
- NONE
- LOW
CWE-401 - Missing release of memory after effective lifetime (memory leak)
'Missing release of memory after effective lifetime (memory leak)' is a weakness that occurs when software doesn't effectively release allocated memory after it is used. If not addressed, this enables attackers to launch denial of service attacks (by crashing or hanging the program) or take advantage of other unexpected behavior resulting from low memory conditions.
References
Advisory Timeline
- Published