Description
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.
Published: 2026-07-16
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Buffa is a pure‑Rust Protocol Buffers implementation. In versions earlier than 0.8.0, the function decode_unknown_field allocated heap memory proportional to untrusted input when preserve_unknown_fields=True. Because no allocation budget was enforced, a small, well‑formed protobuf containing nested unknown fields could trigger large memory amplification, causing up to 1.4 GB of heap consumption from a 64 MiB payload. When the decoder processes such data, the process can exhaust available memory and crash, leading to a denial of service.

Affected Systems

All released versions of Buffa by anthropics prior to the 0.8.0 update are affected. Any application that uses Buffa to decode untrusted protobuf messages with the default preserve_unknown_fields=true setting is vulnerable, including services or libraries that accept client data or external data sources.

Risk and Exploitability

The CVSS score of 6.3 indicates moderate severity. According to the description, the vulnerability can be triggered by a crafted protobuf message without requiring authentication. Based on the information, the likely attack vector is untrusted protobuf input received over the network, which would cause the process to allocate excessive memory and crash locally. The EPSS score is < 1%, indicating a very low yet nonzero probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. While exploitation likelihood is low, an attacker could still cause a denial of service by exhausting memory in the affected process.

Generated by OpenCVE AI on July 31, 2026 at 01:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Buffa to v0.8.0 or later, which imposes a hard limit on memory allocation during unknown field decoding.
  • If an upgrade cannot be performed immediately, either disable the preserve_unknown_fields option in the generated code or implement a custom decoder that enforces a strict size budget for unknown fields.
  • Apply platform or container‑based memory limitslimit, cgroup constraints, or Kubernetes pod limits) to bound the memory usage of the process using Buffa, preventing runaway allocation from exhausting system resources.
  • Monitor the process for sudden memory spikes and configure automated restarts or alerts to recover from unintended exhaustion.

Generated by OpenCVE AI on July 31, 2026 at 01:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Anthropics
Anthropics buffa
Vendors & Products Anthropics
Anthropics buffa

Thu, 16 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 16 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Buffa: Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation
Weaknesses CWE-400
CWE-770
CWE-789
References
Metrics cvssV4_0

{'score': 6.3, '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'}


Subscriptions

Anthropics Buffa
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-16T18:04:39.764Z

Reserved: 2026-06-16T21:48:43.124Z

Link: CVE-2026-55407

cve-icon Vulnrichment

Updated: 2026-07-16T18:04:35.182Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T02:00:05Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling

  • CWE-789

    Memory Allocation with Excessive Size Value