Description
Buffa is a pure-Rust Protocol Buffers implementation with first-class protobuf editions support. Prior to 0.7.0, a soundness bug in the OwnedView<V> type allowed safe Rust code to trigger a use-after-free: the OwnedView::decode constructor transmuted a borrowed slice to &'static [u8], and the Deref implementation exposed the promoted 'static lifetime on borrowed view fields (such as &'static str and &'static [u8]) to callers, so the borrow checker permitted those references to outlive the OwnedView; once the OwnedView was dropped and its backing buffer freed, the references became dangling, enabling memory corruption, information disclosure of freed heap contents, and cross-thread misuse without any unsafe code in the calling application. This issue is fixed in version 0.7.0.
Published: 2026-07-16
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability originates in Buffa’s OwnedView type, where the constructor transmuted a borrowed slice to a static reference and the Deref implementation promoted that static lifetime. The result is that a caller can hold references, such as to a string or byte slice, that outlive the OwnedView object. When the OwnedView is dropped, its backing buffer is freed, and the retained references become dangling. This use‑after‑free allows an attacker to corrupt memory, read data that was once in the heap, and cause cross‑thread misuse, thereby compromising integrity and confidentiality of otherwise safe Rust code.

Affected Systems

All releases of Buffa prior to version 0.7.0 contain the flaw. Buffa is a pure‑Rust Protocol Buffers implementation published by Anthropics. Updating to v0.7.0 or later removes the problematic lifetime promotion and prevents the garbage references from being retained.

Risk and Exploitability

The CVSS score of 5.9 indicates medium severity. The EPSS score is less than 1%, and the flaw is not listed in CISA’s KEV catalog. Based on the description, it is inferred that the likely attack vector is local exploitation in applications or services that load or parse untrusted protobuf data via the vulnerable library. An attacker would need to supply crafted input to the OwnedView constructor or otherwise cause the library to drop an OwnedView while references remain in scope. The defect does not provide a direct remote code execution path, but it enables memory corruption that could be leveraged by a sophisticated attacker in a hostile environment.

Generated by OpenCVE AI on August 1, 2026 at 08:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Buffa to version 0.7.0 or later. This removes the soundness bug that permits static lifetime promotion.
  • Recompile any binaries or services that link against older Buffa releases after the upgrade so that the fixed library is linked. This avoids accidental use of the vulnerable code path.
  • Audit the codebase for any manual conversion of owned data to static references and ensure that no OwnedView objects are retained beyond their drop point; tools such as cargo‑audit or Clippy can help identify lifetime misuse.

Generated by OpenCVE AI on August 1, 2026 at 08:44 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 17: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.7.0, a soundness bug in the OwnedView<V> type allowed safe Rust code to trigger a use-after-free: the OwnedView::decode constructor transmuted a borrowed slice to &'static [u8], and the Deref implementation exposed the promoted 'static lifetime on borrowed view fields (such as &'static str and &'static [u8]) to callers, so the borrow checker permitted those references to outlive the OwnedView; once the OwnedView was dropped and its backing buffer freed, the references became dangling, enabling memory corruption, information disclosure of freed heap contents, and cross-thread misuse without any unsafe code in the calling application. This issue is fixed in version 0.7.0.
Title Buffa: Use-After-Free in OwnedView via Unsound 'static Lifetime Promotion in Deref
Weaknesses CWE-200
CWE-416
References
Metrics cvssV4_0

{'score': 5.9, 'vector': 'CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Anthropics Buffa
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-16T16:47:37.717Z

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

Link: CVE-2026-55406

cve-icon Vulnrichment

Updated: 2026-07-16T16:47:31.435Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T08:45:02Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor

  • CWE-416

    Use After Free