Skip to main content

Apache bRPC CVE-2026-74757

| EUVDEUVD-2026-107181 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-21 apache GHSA-px5f-q4rm-r7jp
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach ubrpc mcpack endpoint
  2. Delivery
    Send crafted mcpack request
  3. Exploit
    Declare array item_count 0x7fffffff
  4. Execution
    Parser preallocates ~16GB via Reserve()
  5. Persist
    Process aborts (SIGABRT)
  6. Impact
    Service denial

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

Exploitation requires the server to be deployed in the Baidu ubrpc pattern - a NsheadService wired to UbrpcMcpack2Adaptor that parses incoming requests using code generated by the mcpack2pb protoc plugin; stock bRPC servers not using this adaptor are not affected. Given that config, no authentication is needed because the request body is parsed before authentication (per the advisory), and the trigger is a single crafted mcpack request whose array header declares an oversized item count (e.g., 0x7fffffff). Limiting factors: the vulnerable mcpack2pb/ubrpc wiring is non-default, and the process abort (SIGABRT) realistically materializes only on memory-constrained hosts or those with restrictive memory-overcommit limits, since the 16GB is preallocated virtual memory.

Impact

This is an availability-only denial-of-service issue (CWE-770, uncontrolled resource allocation) with limited corroborating signals: no CVSS score or vector is provided in the input, no EPSS probability is available, the CVE is not listed in CISA KEV, and no public exploit code is referenced - exploitation status is therefore 'no public exploit identified at time of analysis.' The advisory (Apache mailing-list thread) states the mcpack request body is parsed before authentication, which raises exposure for any server running the affected deployment pattern; however, the impact is confined to memory exhaustion that 'may abort the process (SIGABRT) on memory-constrained hosts,' so the worst case is a crash/DoS rather than code execution or data compromise. Two factors materially lower real-world priority despite the pre-auth reach: (1) exploitation requires the specific, non-default Baidu ubrpc wiring (NsheadService + UbrpcMcpack2Adaptor + mcpack2pb-generated parsing code), not a stock bRPC server; and (2) the ~16GB figure is virtual-memory preallocation, so the crash is conditional on host memory limits/overcommit settings. Net: a legitimate patch-worthy bug for the narrow set of deployments using the ubrpc pattern, but not a broad high-risk emergency. NOTE: because no CVSS vector was supplied, authentication requirements cannot be confirmed from a scored vector; the 'parsed before authentication' claim comes from the advisory description only.

Exploit ScenarioDerived

A remote attacker sends a single crafted mcpack request to a bRPC server exposing the ubrpc (NsheadService/UbrpcMcpack2Adaptor) endpoint, setting the array header's item count to a huge value such as 0x7fffffff. The mcpack2pb-generated parser trusts that count and calls Reserve() to preallocate roughly 16GB for a repeated protobuf field, exhausting memory and potentially aborting the process (SIGABRT) before authentication occurs. No public proof-of-concept is referenced, but the trigger is a simple malformed request requiring no privileges.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Memory exhaustion in Apache bRPC versions prior to 1.18.0 lets remote attackers force excessive preallocation on servers that terminate Baidu ubrpc traffic through a NsheadService wired to UbrpcMcpack2Adaptor and parse it with code generated by the mcpack2pb protoc plugin. Because the mcpack request body is parsed before authentication (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), a single unauthenticated request declaring an array item count such as 0x7fffffff can drive roughly 16GB of virtual memory reservation and may abort the process (SIGABRT) on memory-constrained hosts, making this an availability-only denial of service (CWE-770). There is no CVSS score or EPSS probability in the source data, the CVE is not in CISA KEV, and no public exploit code is referenced, so exploitation status is no public exploit identified at time of analysis; the vulnerable adaptor wiring is non-default, so stock bRPC servers that do not use it are unaffected.

RemediationAI

Vendor-released patch: upgrade to Apache bRPC 1.18.0, which caps the mcpack array item count to the remaining bytes of the array payload and eliminates the oversized Reserve() call. If an immediate upgrade is not possible, apply the upstream fix at https://github.com/apache/brpc/pull/3451, which implements the same bound; verify the patched generated code rejects counts larger than the available array bytes before allocating. As a configuration-level compensating control, remove the exposure entirely by not wiring NsheadService to UbrpcMcpack2Adaptor and migrating those endpoints to a protocol path that does not use mcpack2pb-generated parsing - the trade-off is loss of ubrpc/mcpack compatibility for legacy Baidu clients, requiring client-side protocol changes. Where the adaptor must remain temporarily, constrain the blast radius with cgroup/systemd memory limits and a max memory-overcommit policy so an oversized reservation fails the single process rather than destabilizing the host, accepting that the affected worker will still crash and serve errors; front the service with connection/rate limiting and restrict the listening port to trusted client networks via firewall or mTLS-terminating proxy, which reduces but does not remove the risk since the trigger is a single small request. Monitor for repeated SIGABRT/oom-kill events on the bRPC worker as a detection signal for attempted exploitation.

Affected VersionsENISA

Apache bRPC 0 <1.18.0

Affected Packages

euvd apache_brpc fix: 1.18.0

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 is a C++ RPC framework, and mcpack is Baidu's binary serialization format used by the legacy ubrpc protocol. The mcpack2pb protoc plugin generates conversion code that maps mcpack structures onto protobuf messages; for repeated fields it trusts the item count stored in the mcpack array header and passes that value to the protobuf container's Reserve() to preallocate storage. The generated code never cross-checks the declared count against the actual number of bytes remaining in the array payload, so a header claiming 0x7fffffff items causes an enormous up-front allocation before any per-element parsing or validation can occur. This is the classic CWE-770 (Allocation of Resources Without Limits or Throttling) pattern: an attacker-controlled length field drives resource consumption directly. The companion fix (upstream PR apache/brpc#3451) caps the array item count to the number of remaining bytes in the array payload, restoring the invariant that the declared count cannot exceed what the wire data could possibly contain. Exposure is limited to the Baidu ubrpc deployment pattern where NsheadService is wired to UbrpcMcpack2Adaptor and incoming requests are decoded with mcpack2pb-generated code; other bRPC protocol paths do not exercise the vulnerable conversion logic.

Know when Apache Brpc gets its next vulnerability

  • 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

Vendor (apache) PRIMARY HIGH
vuln.today AI 7.5 HIGH

Remotely reachable and parsed pre-authentication (AV:N/PR:N/UI:N) with a trivially crafted request (AC:L); impact is a process crash/DoS only, so C:N/I:N and A:H with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 13:02 EUVD
CVE Published
Oct 21, 2026 - 11:46 cve.org
HIGH

DescriptionCVE.org

Uncontrolled resource allocation in the mcpack2pb component in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to make the server allocate a large amount of memory via sending a crafted mcpack request with a huge array item count.

Root Cause: The bRPC mcpack2pb parser trusts the item count stored in the mcpack array header without validating it against the actual payload size. The code generated by the mcpack2pb protoc plugin uses this count to preallocate memory for repeated protobuf fields via Reserve(). A malformed request declaring item_count = 0x7fffffff can force the server to preallocate about 16GB of virtual memory, which may abort the process (SIGABRT) on memory-constrained hosts.

Affected Scenarios: Use a bRPC server that wires a NsheadService to UbrpcMcpack2Adaptor (the Baidu ubrpc deployment pattern) and parses requests with code generated by the mcpack2pb protoc plugin. The request body is parsed before authentication.

How to Fix: (Choose one of the following options)

  1. Upgrade bRPC to version 1.18.0, which fixes this issue.
  2. Apply this patch: https://github.com/apache/brpc/pull/3451

Note: No matter which option you choose, you should know that the fix caps the array item count to the remaining bytes of the array payload.

Executive ViewAI

Why It Matters

Apache bRPC releases before 1.18.0 can be driven into memory exhaustion and process termination by remote unauthenticated traffic when the optional Baidu ubrpc/mcpack adaptor path is exposed; the risk is concentrated in organizations that have deployed that non-default integration, not in standard bRPC installations. No public exploit identified at time of analysis, but a single crafted request could still disrupt availability for dependent services, so leadership should prioritize inventory and containment of exposed instances.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Restrict network reachability to affected ubrpc/NsheadService endpoints; disable UbrpcMcpack2Adaptor and mcpack2pb-based parsing where not required; place authentication, rate limiting, and request-size controls in front of exposed services; enforce memory limits and process isolation with automatic restart and monitoring for SIGABRT/memory spikes; segment affected bRPC services from untrusted networks.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche open-source RPC framework, limited and industry-specific enterprise footprint
Data Quality
1 sources
Confidence: Low

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-56386 HIGH
7.5 Oct 21

Denial of service in Apache bRPC servers that accept HTTP/2 traffic is caused by a malformed DATA frame with the PADDED

CVE-2026-74758 HIGH
Oct 21

Remote unauthenticated denial of service affects Apache bRPC versions before 1.18.0 when the optional RTMP service is en

CVE-2026-74755 MEDIUM
Oct 21

A single unauthenticated request can abort an Apache bRPC server (versions before 1.18.0) that has been explicitly confi

CVE-2026-66392 MEDIUM
Oct 21

TLS endpoint impersonation in Apache bRPC before 1.18.0 allows an on-path attacker who can redirect or intercept a clien

CVE-2026-61916 MEDIUM
Oct 21

Remote denial of service affects Apache bRPC deployments before 1.18.0 when built on platforms where plain char is unsig

CVE-2026-61902 MEDIUM
Oct 21

Memory exhaustion denial of service in Apache bRPC before 1.18.0 allows remote unauthenticated peers to push buffered me

CVE-2026-58064 HIGH
Oct 21

Memory and CPU exhaustion in Apache bRPC's Redis-protocol handler lets remote unauthenticated clients inflate server res

CVE-2026-56388 HIGH
Oct 21

Out-of-bounds write in Apache bRPC's Redis RESP parser allows remote unauthenticated attackers who can reach a bRPC serv

CVE-2026-56387 HIGH
Oct 21

Memory exhaustion in Apache bRPC's RTMP AMF parser allows unauthenticated remote attackers to consume excessive resource

CVE-2026-54427 HIGH
Oct 21

Denial of service in Apache bRPC before 1.18.0 allows an unauthenticated remote RTMP peer to crash the bRPC process by s

CVE-2026-54426 HIGH
Oct 21

Remote denial of service in Apache bRPC (versions before 1.18.0) allows a malicious, compromised, or faulty Redis server

CVE-2026-54425 HIGH
Oct 21

Remote unauthenticated denial of service in Apache bRPC before 1.18.0 allows attackers to exhaust the server thread stac

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy