Skip to main content

Apache bRPC EUVDEUVD-2026-107223

| CVE-2026-84747 HIGH
Interpretation Conflict (CWE-436)
View

Attack ChainAIDerived

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

  1. Access
    Connect to default bRPC h2/gRPC port
  2. Exploit
    Send crafted HPACK block with 121 minimal 33-byte entries
  3. Impact
    Overflow ring-buffer slots, trip CHECK abort, crash server

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
Exploitation Conditions

The target must be a bRPC server (version <= 1.17.0) that accepts HTTP/2 or gRPC over the h2 protocol from an untrusted network - a default-enabled configuration, since the h2 parser runs on every bRPC server port before any Authenticator check. The specific trigger is HPACK decoding of an incoming request whose dynamic-table header block contains 121 minimal (33-byte: >=1-byte name + 0-byte value + 32 bytes overhead) entries, which stays within the 4096-byte _max_size eviction cap yet exceeds the 120 allocated ring-buffer slots. Limiting factors: exploitation requires the server to actually serve h2/gRPC (not plain HTTP/1 or other bRPC protocols), and impact is confined to crashing the process (availability only) - there is no authentication step to bypass per the advisory, but note the CVSS vector was not provided to independently confirm the privilege level.

Impact

Risk must be judged almost entirely from a single source - the Apache/oss-security vendor advisory - because no CVSS vector, CVSS score, CWE, EPSS probability, KEV entry, or POC indicator was supplied in the input; all of those signals are MISSING, so any claim of exploitation likelihood is inference, not data. On the signals that ARE present, the advisory is self-consistent and points to a genuine, easy-to-reach issue: the HPACK decoder on bRPC's HTTP/2 (h2)/gRPC receive path mis-sizes the dynamic table (120 slots for a 4096-byte table), and a peer can submit 121 minimal 33-byte header entries that satisfy the byte-based eviction limit (121*33 = 3993 <= 4096) but overflow the ring-buffer slot count, hitting CHECK(!_header_queue.full()) and aborting the process. The h2 parser is enabled by default and runs before any authentication check, so the trigger is reachable by an unauthenticated remote peer, which argues for treating this as a real availability priority for any bRPC server exposed to untrusted h2/gRPC traffic. The tempering factor is that impact is limited to a deterministic process crash (denial of service) with no confidentiality or integrity consequence and no code execution, and because EPSS/KEV/POC are all absent there is no evidence of active exploitation - this is a low-signal, patch-promptly item rather than a confirmed in-the-wild threat. One data conflict to flag: the input is titled CVE-2026-84747 but its reference block cites CVE-2026-78048, and the advisory bundles several adjacent CVEs (78058/78066/78334) - verify the exact record-to-ID mapping with the vendor before acting.

Exploit ScenarioDerived

An attacker who can reach a bRPC server's default h2/gRPC port sends a single crafted HTTP/2 HEADERS frame whose HPACK block adds 121 minimal 33-byte dynamic-table entries, staying under the 4096-byte eviction cap while exceeding the 120 ring-buffer slots. The 121st AddHeader fails the CHECK(!_header_queue.full()) assertion and aborts the server process, producing an unauthenticated remote denial of service. No public exploit code was identified in the provided data, but the advisory describes the exact byte/slot math needed to reproduce it.

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

A single crafted HTTP/2 HEADERS block can abort an Apache bRPC process (versions through 1.17.0) that serves h2 or gRPC traffic from an untrusted network, giving remote attackers a repeatable, low-cost denial of service. The h2 parser runs on every bRPC server port and decodes HPACK header blocks before any Authenticator check, so no credentials are required (PR:N per the assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H vector, availability impact only). The input contained no CISA KEV entry, no EPSS score, and no public exploit code, so there is no public exploit identified at time of analysis and active exploitation is not confirmed; the fix ships in Apache bRPC 1.18.0, which bundles 35 security fixes.

RemediationAI

Upgrade Apache bRPC to 1.18.0, the vendor-released patch version, on all servers that terminate HTTP/2 or gRPC on an untrusted interface; alternatively apply the upstream patch at https://github.com/apache/brpc/pull/3462, which resizes the HPACK dynamic table for the 33-byte minimum entry and preserves at least one ring-buffer slot so initialization cannot fail. If upgrading is not immediately possible, reduce exposure by fronting bRPC with a reverse proxy or load balancer that enforces strict per-request header count and header-list size limits and rejects oversized HEADERS/CONTINUATION blocks before they reach the server (trade-off: legitimate clients with large header blocks may be rejected, and the proxy becomes the enforcement point). Where h2/gRPC is not operationally required on a given port, disable or firewall that port to trusted sources only (trade-off: loss of functionality for external h2/gRPC consumers). Because the failure mode is a hard process abort, ensure bRPC is supervised for automatic restart to shorten outage windows, and note that restart does not stop a determined attacker from repeating the request - treat this as containment only until 1.18.0 is deployed. Review the full oss-security advisory (https://seclists.org/oss-sec/2026/q4/274) for the 34 other fixes included in 1.18.0, several of which affect the same h2 receive path.

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

The flaw lives in bRPC's HPACK implementation (RFC 7541) used by its HTTP/2 and gRPC server paths. The HPACK dynamic table charges 32 bytes of fixed overhead per entry on top of the name and value, so the smallest possible entry is 33 bytes (1-byte name + 0-byte value + 32 bytes overhead). Code initialization sized the ring buffer as max_size / 34, which for the 4096-byte default table allocates only 120 usable slots (4096/34). Eviction in AddHeader is driven by byte accounting (_max_size) rather than slot count, so a peer can insert 121 minimal 33-byte entries (121 x 33 = 3993 bytes, still under the 4096-byte cap) without any eviction firing. The 121st AddHeader then reaches the CHECK(!_header_queue.full()) assertion and aborts the process. The upstream fix resizes the dynamic table using the 33-byte minimum entry (max_size / (32 + 1)) and guarantees at least one ring-buffer slot is retained when max_size is below the minimum entry size, so initialization cannot fail on malloc(0). No CWE was supplied in the input; the weakness class maps to uncontrolled resource consumption (CWE-770) combined with a reachable assertion/abort (CWE-617). This issue was disclosed as part of a larger oss-security advisory covering h2, decompression, RTMP, AMF, sofa-pbrpc, mcpack2pb, and streaming-auth defects in the same release.

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

vuln.today AI 7.5 HIGH

Network-reachable h2 parser running before authentication (AV:N/PR:N/UI:N) with a deterministic crafted-header trigger (AC:L); impact is a process-abort DoS only, so C:N/I:N/A:H.

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

Estimated by vuln.today — no official severity rating has been published for this CVE yet.

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 14:17 EUVD
CVE Published
Oct 21, 2026 - 03:30 oss-security
HIGH

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Executive ViewAI

Why It Matters

Apache bRPC deployments at or below version 1.17.0 that expose HTTP/2 or gRPC services to untrusted networks can be stopped by a single malformed request, and no credentials or user interaction are needed to do it. Because the parser runs on every bRPC server port rather than behind a single hardened interface, any internet- or partner-facing endpoint becomes a standing availability risk for whatever business service it fronts, and the crash is cheap enough to repeat at will. Leadership should care because the only real remedy is a version upgrade to 1.18.0, so the length of the exposure window is set by change-management throughput rather than by a quick configuration tweak.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations are network allowlisting of h2/gRPC listeners so only trusted clients can reach the parser, an HTTP/2-aware reverse proxy or load balancer enforcing header-size and request-rate limits in front of exposed services, process supervision with automatic restart and crash alerting, and horizontal sharding or replica scaling so one aborted process does not take the service offline. Upgrade to Apache bRPC 1.18.0 per the advisory once it is available in your distribution.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular open-source RPC framework, concentrated but non-ubiquitous production 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

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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