CVE-2024-53984CWE-401CWE-755

Nanopb does not release memory on error return when using PB_DECODE_DELIMITED

Medium · published December 2, 2024

CVSS v3.1
4.3
EPSS
0%
Percentile
34.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
4.3 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
CVSS v4.0
Not supplied
EPSS
0.00409 · 34.1th percentile
Weaknesses
CWE-401 · Missing Release of Memory after Effective Lifetime; CWE-755 · Improper Handling of Exceptional Conditions
Published
2024-12-02T15:54Z
EPSS history
Timeline
  • 02 DEC 15:54Z
    Nanopb does not release memory on error return when using PB_DECODE_DELIMITED
    cvelistv5