CVE-2026-55407 json
Buffa: Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation
published 2026-07-16 3 mo ago modified 2026-10-24 15 d ago also GHSA-f9qc-qg88-7pq5 , EUVD-2026-44951
- cvss
- 6.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- crates.io buffa 0.8.0
- github.com/anthropics/buffa@278fa43 commit
- github.com/anthropics/buffa#184 pull request
- github.com/anthropics/buffa/releases/tag/v0.8.0 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 mo ago
Exploit prediction
0.76% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | 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 |
| CNA | 4.0 | 6.3 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | buffa | <0.8.0 |
0.8.0 |
Affected products
- anthropics buffa
Classification
References
-
github.com
/anthropics/buffa/pull/184
web
-
github.com
/anthropics/buffa/commit/278fa43fcff661d4ee6bd83b75955a153d4281fc
web
-
github.com
/anthropics/buffa/security/advisories/GHSA-f9qc-qg88-7pq5
web
-
github.com
/anthropics/buffa/releases/tag/v0.8.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-55407
advisory
-
github.com
/anthropics/buffa
package
Sources
- CVE List CVE-2026-55407
- GitHub Advisory GHSA-f9qc-qg88-7pq5
- NVD CVE-2026-55407
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.