Skip to main content

Missing Release of Memory after Effective Lifetime

CVE-2024-53984

Severity Medium
Score 4.3/10

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