Skip to main content

Apache bRPC EUVDEUVD-2026-107216

| CVE-2026-82210 CRITICAL
Reachable Assertion (CWE-617)
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed bRPC h2/gRPC port
  2. Delivery
    Craft HEADERS with 121 minimal HPACK entries
  3. Exploit
    Dynamic table ring buffer fills without eviction
  4. Execution
    121st AddHeader trips CHECK(!_header_queue.full())
  5. Impact
    Process aborts (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

Requires a bRPC server (version ≤ 1.17.0) serving HTTP/2 or gRPC via the h2 protocol and reachable from an untrusted network; the h2 parser is enabled by default on every bRPC server port and processes the malicious HPACK header block before any Authenticator check, so no credentials, user interaction, or non-default configuration are needed. The specific prerequisite is that HPACK dynamic-table insertion occurs during decoding of attacker-supplied HEADERS - exploitation is limited only by whether the bRPC h2/gRPC listener is exposed to untrusted peers and by the affected version range (1.18.0 is not vulnerable).

Impact

This is a remote, unauthenticated denial-of-service (process crash) in Apache bRPC's HPACK decoder: the dynamic header table sizes its ring buffer by byte usage (_max_size/34 ≈ 120 slots for the default 4096-byte table) while eviction is also driven by byte usage, so 121 minimal 33-byte entries (121*33 = 3993 ≤ 4096) fit without eviction and the 121st AddHeader trips CHECK(!_header_queue.full()), aborting the process. No CVSS, EPSS, KEV, or POC data was supplied with the input, so quantitative exploitation-likelihood signals are entirely MISSING and cannot be compared. On the qualitative signals that ARE present, risk is meaningfully elevated: the advisory states the h2 parser is enabled by default on every bRPC server port and runs before any Authenticator check, making this reachable pre-authentication from an untrusted network, and the trigger is a small deterministic header block requiring no special timing or race. Impact is availability-only (clean process abort, no code execution or data exposure implied). Net: a real, easy-to-trigger crash DoS against exposed HTTP/2/gRPC bRPC endpoints, but its practical priority is bounded by bRPC's specialized deployment footprint and by the absence of any confirmed in-the-wild exploitation - treat as a high-priority patch for anyone exposing bRPC h2 to untrusted peers, not a mass-exploitation emergency. Note: this record is labeled CVE-2026-82210 but the advisory references CVE-2026-78048 for the same HPACK issue - reconcile the identifier with the vendor advisory.

Exploit ScenarioDerived

An attacker who can reach a bRPC server's HTTP/2 (h2) or gRPC port over an untrusted network sends a single crafted HEADERS frame whose HPACK block adds 121 minimal 33-byte dynamic-table entries. During HPACK decoding - performed before any authentication - the 121st insertion fills the undersized ring buffer and trips a CHECK, aborting the server process. No public exploit is identified at time of analysis, but the condition is deterministic and trivial to reproduce.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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

Remote unauthenticated denial of service in Apache bRPC's HPACK decoder can abort the server process when a peer sends a crafted HTTP/2 header block. bRPC through 1.17.0 is affected because the default 4096-byte HPACK dynamic table allocates about 120 ring-buffer slots while eviction is tracked by bytes, allowing 121 minimal 33-byte entries to fill the queue and trip a CHECK assertion on the next AddHeader. The h2 parser is enabled by default and runs before authentication, so any exposed HTTP/2 or gRPC listener is at risk; no public exploit code was identified at time of analysis, and 1.18.0 fixes the issue.

RemediationAI

Upgrade Apache bRPC to version 1.18.0, which contains the fix, or backport the upstream patch from https://github.com/apache/brpc/pull/3462. If immediate upgrade is not possible, reduce exposure by restricting HTTP/2 and gRPC listener ports to trusted networks or fronting them with an L7 proxy that enforces strict HPACK header-table and header-list limits; the trade-off is reduced service availability or added proxy latency and complexity. If h2/gRPC is not required on a listener, avoid exposing it to untrusted peers or terminate HTTP/2 at a proxy instead of passing it directly to bRPC, accepting the loss of end-to-end HTTP/2/gRPC behavior. Monitor bRPC processes for assertion-driven aborts as an indicator of 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

The flaw is in the HTTP/2 HPACK decoder used by bRPC's h2/gRPC receive path. HPACK maintains a dynamic header table backed by a ring buffer whose slot count is derived from the configured table size; with the default 4096-byte table and a 34-byte per-slot estimate, only about 120 slots are allocated. Eviction is driven by byte accounting (_max_size) rather than by the number of occupied slots, so a peer can insert 121 minimum-size 33-byte entries (1-byte name, empty value, 32 bytes of overhead) totaling 3993 bytes without triggering eviction. The 121st AddHeader then observes a full queue and hits CHECK(!_header_queue.full()), aborting the process. The h2 parser is enabled by default on every bRPC server port and processes attacker-supplied HEADERS frames during HPACK decoding before any Authenticator check. No CWE or CPE identifiers were supplied in the input data; the root cause is an invariant mismatch between slot allocation and byte-based eviction in the HPACK dynamic table accounting. The fix in PR 3462 sizes the dynamic table using max_size/(32+1) minimum entries and preserves at least one slot when the configured maximum is smaller than the minimum entry.

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 port parsed before authentication gives AV:N/PR:N/UI:N; the deterministic 121-entry trigger is AC:L; impact is a process crash 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

Lifecycle Timeline

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

Description PRE-NVD

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

Executive ViewAI

Why It Matters

Apache bRPC through 1.17.0 contains a critical denial-of-service flaw in its default HTTP/2 HPACK handling that can abort the server process when a crafted header block is received. Any exposed HTTP/2 or gRPC listener using affected releases may experience availability outages, disrupting dependent APIs and services; no public exploit identified at time of analysis. Leadership should prioritize inventory and remediation because the flaw affects default parsing paths and can be triggered remotely.

Business Impact: High
Compensating Controls

Apply vendor patch (upgrade to Apache bRPC 1.18.0); if immediate upgrade is not possible, restrict network access to HTTP/2 and gRPC listeners, disable HTTP/2 where not required, and monitor for process aborts.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
specialized Apache RPC framework, limited and mostly backend-specific deployment 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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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.

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