CVE-2026-55407: Buffa Denial of Service Vulnerability
MODERATECVE-2026-55407 is a MODERATE denial of service vulnerability (CWE-789: Memory Allocation with Excessive Size Value) affecting Buffa libraries in the crates.io ecosystem. The issue involves buffa vulnerable to memory exhaustion denial of service in decode_unknown_field via unbounded allocation. Remediation is available by upgrading affected packages to version 0.8.0.
CVE-2026-55407 at a Glance
How to Fix CVE-2026-55407
To remediate this vulnerability, upgrade all affected Buffa dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade buffa to 0.8.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for buffa
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-55407, inspect your project dependencies for Buffa:
inspect dependencies for buffa
Analyze the terminal output to locate any version of Buffa in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.8.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-789: Memory Allocation with Excessive Size Value, where the product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated. In Buffa, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-55407 Affected Buffa Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
buffa
|
crates.io |
< 0.8.0
|
0.8.0
|
References
Frequently Asked Questions
What is CVE-2026-55407?
Which Buffa versions are affected?
What version fixes CVE-2026-55407?
Is buffa affected?
What CWE is associated with CVE-2026-55407?
How can I check crates.io dependencies for CVE-2026-55407?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-f9qc-qg88-7pq5",
"modified" : "2026-08-28T18:34:22Z",
"published" : "2026-08-28T18:34:22Z",
"aliases" : [ "CVE-2026-55407" ],
"summary" : "Buffa Vulnerable to Memory Exhaustion Denial of Service in decode_unknown_field via Unbounded Allocation",
"details" : "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. Any message decoded from untrusted input using code generated with `preserve_unknown_fields=true` (the default) was affected. A small, well-formed payload of nested unknown fields inside a StartGroup could trigger roughly 22× memory amplification (e.g., a 64 MiB input forcing ~1.4 GB of heap allocation), and length-delimited unknown fields could be sized arbitrarily, enabling an unauthenticated attacker to crash a process via memory exhaustion. This was reachable from the default decode APIs, since the top-level message size cap did not account for in-decode amplification. \n\nFor users of connectrpc - the DEFAULT_MAX_MESSAGE_SIZE for connectrpc is 4MiB, which limits amplification in the worst case to ~88 MiB of memory. A flood of concurrent requests with this pattern could still be used to exhaust available memory, however.\n\nUsers are advised to either set `preserve_unknown_fields=false` on their current generated code, or upgrade to 0.8.0, which enforces per-message unknown field count limits - this is configurable, with a default of 1 million unknown fields, or ~40MiB of allocation overhead per message.\nUsers are advised to update to the latest version, which enforces per-message unknown field count limits.\n\nThank you to @p80n-sec for reporting this issue.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "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"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "crates.io",
"name" : "buffa"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.8.0"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/anthropics/buffa/security/advisories/GHSA-f9qc-qg88-7pq5"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-55407"
}, {
"type" : "WEB",
"url" : "https://github.com/anthropics/buffa/pull/184"
}, {
"type" : "WEB",
"url" : "https://github.com/anthropics/buffa/commit/278fa43fcff661d4ee6bd83b75955a153d4281fc"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/anthropics/buffa"
}, {
"type" : "WEB",
"url" : "https://github.com/anthropics/buffa/releases/tag/v0.8.0"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-400", "CWE-770", "CWE-789" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-08-28T18:34:22Z",
"nvd_published_at" : "2026-07-16T17:16:57Z"
}
}