CVE-2026-55407CWE-400CWE-770CWE-789

Buffa: Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation

Medium · published July 16, 2026

CVSS v4.0
6.3
EPSS
1%
Percentile
54.6
In the wild
Unconfirmed
What it is

Buffa is a pure-Rust Protocol Buffers implementation with first-class protobuf editions support. Prior to 0.8.0, the decode_unknown_field function in buffa's protobuf decoder allocated heap memory in proportion to untrusted input (unknown fields in the serialized protobuf) without enforcing an allocation budget, affecting any message decoded from untrusted input using code generated with preserve_unknown_fields=true (the default); a small, well-formed payload of nested unknown fields inside a StartGroup could trigger roughly 22x memory amplification (for example a 64 MiB input forcing about 1.4 GB of heap allocation), and length-delimited unknown fields could be sized arbitrarily, so an unauthenticated attacker could crash a process through memory exhaustion because the top-level message size cap did not account for in-decode amplification. This issue is fixed in version 0.8.0.

The record
Technical detail
CVSS v4.0
6.3 · MEDIUM
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
EPSS
0.00755 · 54.6th percentile
Weaknesses
CWE-400 · Uncontrolled Resource Consumption; CWE-770 · Allocation of Resources Without Limits or Throttling; CWE-789 · Memory Allocation with Excessive Size Value
Published
2026-07-16T15:57Z
EPSS history
Timeline
  • 16 JUL 15:57Z
    Buffa: Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation
    cvelistv5