CVE-2026-55407 json
Buffa: Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation
published 3mo ago modified 18d 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
Is CVE-2026-55407 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3mo ago
Exploit prediction
0.76% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-11).
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 Intel 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.