GHSA-f22p-qq49-qcxh
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed bRPC h2/gRPC port
-
DeliveryCraft HEADERS with 121 minimal HPACK entries
-
ExploitDynamic table ring buffer fills without eviction
-
Execution121st AddHeader trips CHECK(!_header_queue.full())
-
ImpactProcess 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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.
Lifecycle Timeline
2Description PRE-NVD
Executive ViewAI
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.
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
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-107216
CVE.org
EPSS
Exploit-DB