Read the docs
TI-2024-36143 Aliases CVE-2024-53984

Nanopb does not release memory on error return when using PB_DECODE_DELIMITED

Priority LOW 20CWE-401Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-401.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00409 35th percentileScored 2026-11-07
Fix Fixed nanopb (nanopb): 0.4.9.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nanopbnanopb0.4.0 to before 0.4.9.10.4.9.1Patch availableCNA
  • nanopb Vendornanopb Affected 0.4.0 to before 0.4.9.1 Fixed in 0.4.9.1 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:*——nanopb
  • cpe:2.3:a:nanopb_project:nanopb:*:*:*:*:*:*:*:* Versions — — ·nanopb

Remediation

  • Fix · CNA nanopb (nanopb) Fixed in 0.4.9.1

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-53984

References

  • TI-2014-08406 Nanopb before 0.3.1 allows size_t overflows in pb_dec_bytes and pb_dec_string. CVSS 3.1CRITICAL 9.8
  • TI-2020-04291 Out-of-memory condition in Nanopb is potentially exploitable CVSS 3.1CRITICAL 9.8
  • TI-2020-16064 Memory leak in nanopb CVSS 3.1HIGH 7.5
  • TI-2021-04499 Invalid free() call in Nanopb CVSS 3.1HIGH 7.1

Sources