GHSA-qvxp-6v5r-47h4
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to exposed bRPC service port
-
ExploitSend cap-compliant compressed or size-inflated message
-
ExecutionTrigger unbounded decompression or pre-validation allocation
-
ImpactExhaust memory and crash process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The bRPC service must accept one of the specific affected input types from untrusted clients: gzip/zlib/snappy-compressed request bodies (whose decompressed output is unbounded while only the compressed size is capped by -max_body_size), or RTMP chunk-stream messages, sofa-pbrpc messages (unbounded meta_size), or mcpack2pb messages (wire-declared item counts used for Reserve(), and a string value_size of 0 underflowing the buffer size and aborting). No authentication is required because these parsers process wire-declared sizes before any auth check. Exploitation is LIMITED to deployments that actually expose these parsers/protocols to an untrusted network; a bRPC service that does not accept compressed bodies or these legacy protocols, or that only serves trusted internal peers, is not reachably affected. |
| Impact | This is a credible denial-of-service priority for anyone running Apache bRPC <= 1.17.0 on untrusted-facing ports, but it is a confirmed-DoS rather than a code-execution issue. No CVSS vector was supplied in the input (CVSS Score: N/A, CVSS Vector: N/A), so attack-vector/complexity/privilege signals are inferred from the description, not confirmed by NVD. The vendor advisory rates it 'high'. The description strongly implies network-reachable, pre-authentication exploitation ('from untrusted clients', parsers that 'accept wire-controlled input'), consistent with an unauthenticated remote DoS. No EPSS score, no CISA KEV listing, and no POC were provided, so there is no evidence of active exploitation or published exploit code - exploitation status is 'no public exploit identified at time of analysis'. Technical impact is bounded to availability (process crash or unbounded memory growth); there is no confidentiality or integrity impact described. Net: treat as a high-priority patch for internet- or multi-tenant-exposed bRPC services, but a lower-urgency issue where bRPC only serves trusted internal clients or does not accept the affected compression/protocol formats. The 'high' severity reflects impact and easy reachability, not any evidence of widespread exploitation. |
| Exploit ScenarioDerived | A remote, unauthenticated attacker sends a bRPC service a request body that is compliant with the -max_body_size cap on the compressed wire (e.g. 64 MiB of gzip/zlib/snappy) but decompresses to tens of GiB, or an RTMP/sofa-pbrpc/mcpack2pb message with an inflated wire-declared length/item count. bRPC allocates or inflates based on the untrusted declared size before validation, exhausting memory or hitting an abort and crashing the process. No public exploit code is identified at time of analysis, but the condition is trivially constructed and requires no authentication. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Remote denial of service in Apache bRPC 1.17.0 and earlier allows unauthenticated network peers to drive disproportionate memory consumption or abort the process by sending input whose declared or decompressed size is never validated. Five parser paths are affected: gzip/zlib/snappy decompression (only the compressed body is counted against -max_body_size, so a 64 MiB cap-compliant body can expand to tens of GiB), AMF string readers that allocate the wire-declared length before the bytes arrive, RTMP chunk headers that re-declare a message length mid-stream into an ever-growing reassembly buffer, the unbounded meta_size field of the sofa-pbrpc parser, and mcpack2pb, which reserves on wire-declared item counts and underflows its buffer size when a string value_size is 0, triggering an abort. The flaw is fixed in 1.18.0 and no public exploit code was identified at time of analysis; reachability is limited to deployments that actually accept compressed bodies or rtmp/sofa-pbrpc/mcpack2pb traffic from untrusted clients, since these parsers run before any Authenticator check.
RemediationAI
Vendor-released patch: Apache bRPC 1.18.0 - upgrade to 1.18.0 or later, which fixes this issue along with the other 34 vulnerabilities fixed in that release. Operators who cannot upgrade immediately can apply the upstream fix at https://github.com/apache/brpc/pull/3476, which introduces and enforces the new bounds (decompressed body size, RTMP declared message length, mcpack declared count); requests exceeding them are rejected. If neither is feasible, reduce reachability rather than relying on generic hardening: stop accepting compressed request bodies at the edge (reject Content-Encoding: gzip/deflate/snappy in a fronting proxy) so the ratio-amplification path is never exercised, and firewall off the rtmp, sofa-pbrpc, and mcpack2pb ports/handlers from untrusted networks, keeping them internal-only or behind mutual authentication - the trade-off is that legitimate clients using those encodings or protocols will break for as long as the control is in place. Lowering -max_body_size reduces but does not eliminate the decompression amplification, because the check only sees compressed bytes. After upgrading, verify the new -max_decompressed_body_size limit is set to a value your workload actually needs; raising it (like raising max_body_size) re-opens the amplification window in proportion to the new ceiling, so size it deliberately and monitor process RSS on untrusted-facing ports. Validate the deployment by confirming the running build reports 1.18.0 before treating the exposure as closed.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache bRPC's protocol-layer parsers process wire-controlled length and count fields before authentication, and this CVE bundles five independent instances of trusting those fields. On the compression path, the gzip/zlib/snappy decompressors enforce no output ceiling at all - -max_body_size is compared against the compressed bytes, so compression-ratio abuse yields an unbounded allocation amplification. On the AMF path, string readers allocate the declared length up front rather than after confirming the bytes exist, a classic allocate-before-validate pattern. On the RTMP path, chunk headers may re-declare a message length mid-stream and the partial reassembly buffer keeps growing because the declared length is never bounded. The sofa-pbrpc parser fails to bound meta_size, and mcpack2pb both trusts wire-declared item counts for Reserve() and underflows its computed buffer size when a string value_size is 0 - the latter producing a process abort rather than simple memory pressure. The record carries no CWE assignment, but the root-cause classes map to uncontrolled resource consumption, uncontrolled memory allocation, and integer underflow. This CVE is one of 35 vulnerabilities fixed together in bRPC 1.18.0, and the vendor's advisory text circulated with several sibling write-ups (HPACK dynamic-table queue abort, HTTP/2 receive-path limits) - those belong to different CVE identifiers and should not be conflated with this decompression/parser-size issue. The h2 and other parsers are enabled by default on bRPC server ports, which is why an unauthenticated remote attacker (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, availability-only) can reach them.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Remote unauthenticated clients send crafted bodies processed before auth (AV:N/AC:L/PR:N/UI:N); impact is crash/memory exhaustion only, so C:N/I:N/A:H.
Lifecycle Timeline
2Description PRE-NVD
Executive ViewAI
Apache bRPC 1.17.0 and earlier can be forced into memory exhaustion or process termination by remote network traffic on several parser paths, disrupting services that accept compressed bodies or use rtmp, sofa-pbrpc, or mcpack2pb. Leadership should prioritize this because availability loss in bRPC-dependent applications can cascade into customer-facing outages and operational overhead, even though exposure is limited to deployments that enable the affected features and no public exploit was identified at time of analysis.
Apply vendor patch: upgrade to Apache bRPC 1.18.0; until that upgrade is complete, restrict network access to bRPC endpoints, disable compressed-body acceptance and rtmp/sofa-pbrpc/mcpack2pb protocol handling where not required, enforce memory limits and process supervision, and monitor for abnormal memory growth or aborts.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-107185
CVE.org
EPSS
VulDB
Exploit-DB