GHSA-qxr6-5hxr-grrc
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to exposed bRPC h2/gRPC port
-
ExploitSend HPACK block of 121 minimal 33-byte entries
-
ExecutionFill dynamic-table ring buffer without eviction
-
ImpactTrigger CHECK(!_header_queue.full()) abort, crashing server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a bRPC server at version 1.17.0 or earlier that serves HTTP/2 or gRPC via the h2 protocol and is reachable from an untrusted network. The h2/HPACK parser is enabled by default on every bRPC server port and processes the malicious header block during HPACK decoding before any Authenticator check, so no authentication, user interaction, or non-default configuration is required - the default 4096-byte dynamic table is the vulnerable condition. Limiting factors: the target must actually expose an h2/gRPC listener (plain-HTTP-only or non-h2 deployments are not affected via this path), and upgrading to 1.18.0 or applying PR #3462 fully removes the condition by sizing the table for the 33-byte minimum entry. |
| Impact | This is a remote, pre-authentication denial-of-service (process crash) affecting Apache bRPC versions through 1.17.0 when serving HTTP/2 or gRPC (h2) traffic. No CVSS vector, EPSS score, KEV listing, or public POC was provided in the input, so quantitative exploitation-probability signals are entirely absent and cannot be compared. The qualitative signals are consistent, however: the advisory states the h2/HPACK parser runs before any Authenticator check on the shared default port, so the attack surface is network-facing and requires no credentials, and the trigger is a deterministic CHECK() abort rather than a probabilistic memory-corruption condition, making reliable crashing trivial once an attacker can reach the port. Technical impact is confined to availability - the vulnerability aborts the process via a failed CHECK on a full dynamic-table ring buffer; there is no indication of confidentiality or integrity impact, code execution, or scope change. Net assessment: a genuine availability priority for internet-exposed bRPC h2/gRPC endpoints because it is low-complexity and unauthenticated, but it is NOT a critical RCE and real-world urgency is tempered by bRPC's limited deployment footprint and the absence of any confirmed exploitation. Note a data caveat: the supplied description text and the CVE cross-reference (CVE-2026-78048) appear bundled within a 35-vulnerability advisory, so the exact CVE-ID-to-finding mapping for CVE-2026-84748 should be verified against the Apache advisory before action. |
| Exploit ScenarioDerived | An attacker reachable to a bRPC server's HTTP/2 or gRPC port sends a crafted HPACK header block containing 121 minimal 33-byte dynamic-table entries (121*33 = 3993 bytes, under the default 4096-byte table limit). Because eviction is driven by byte usage rather than slot count, the entries are never evicted, and the 121st AddHeader hits CHECK(!_header_queue.full()), aborting the server process. No authentication is needed and no public exploit code was identified at time of analysis, though the mechanism is simple enough to reproduce from the advisory. |
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 through 1.17.0 lets a network peer crash an HTTP/2 or gRPC (h2) server by sending a crafted sequence of minimal HPACK header entries. The default 4096-byte HPACK dynamic table is allocated as 120 slots based on a 34-byte entry size, while the true minimum entry is 33 bytes, so 121 minimal entries fit within the byte cap without triggering eviction and then hit a full-header-queue CHECK that aborts the process. No authentication or user interaction is required; bRPC 1.18.0 and upstream patch PR #3462 correct the sizing, and no public exploit code or CISA KEV entry was identified in the provided data.
RemediationAI
Upgrade Apache bRPC to 1.18.0, which sizes the HPACK dynamic table for the 33-byte minimum entry and keeps at least one ring-buffer slot when max_size is smaller than the minimum entry; alternatively apply upstream patch PR #3462 (https://github.com/apache/brpc/pull/3462) if a full upgrade cannot be completed promptly. If neither can be deployed, reduce exposure by restricting h2/gRPC listeners to trusted networks or by placing a proxy in front that terminates HTTP/2 and forwards to bRPC over HTTP/1.1, so untrusted peers cannot feed HPACK headers directly into bRPC's decoder; this adds latency and operational complexity and may break end-to-end gRPC semantics. Connection rate limiting alone is a weak control because a single connection with 121 small header entries can trigger the abort. Monitor h2 listeners for process aborts or CHECK failures. Vendor advisory: https://github.com/apache/brpc; patch: https://github.com/apache/brpc/pull/3462.
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 HPACK header-compression decoder used by Apache bRPC's HTTP/2 (h2) stack, which also carries gRPC traffic. HPACK maintains a dynamic table whose entries carry a fixed 32-byte per-entry overhead plus the name and value lengths, so an entry with a one-byte name and an empty value is 33 bytes. bRPC's default table size is 4096 bytes, and the implementation sized the ring buffer using 34 bytes per entry, yielding 120 slots, while eviction in AddHeader is driven by byte usage (_max_size) rather than slot count. A peer can therefore insert 121 entries of 33 bytes (3993 bytes, still below the 4096-byte cap) so byte-based eviction does not run, and the 121st insertion reaches CHECK(!_header_queue.full()) and aborts the process. No CWE identifier was supplied in the input; the root-cause class is a capacity-accounting mismatch between byte-based eviction and a fixed slot count. The h2 parser is enabled by default on bRPC server ports and processes the header block during HPACK decoding before any Authenticator check, so the condition is reachable pre-authentication. The broader bRPC 1.18.0 advisory set also covers related issues such as CVE-2026-78058 and CVE-2026-78066, but this entry is specifically the HPACK dynamic-table sizing defect fixed by PR #3462. No CPE, EPSS, or KEV data was included in the provided intelligence.
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
h2 parser is network-facing and runs before authentication (AV:N/PR:N), the crash is a deterministic CHECK abort (AC:L), and impact is availability-only process termination (A:H, C/I:N).
Lifecycle Timeline
2Description PRE-NVD
Articles & Coverage 1
Executive ViewAI
Apache bRPC releases through 1.17.0 contain a remotely triggerable availability flaw: a single network peer can send a short sequence of crafted HTTP/2 header entries that aborts the server process outright, taking down any gRPC or h2 service built on the library. Because the trigger is small, repeatable, and needs only network reachability, teams running bRPC-based services face unplanned outages that can be sustained at an attacker's discretion until the library is upgraded. No public exploit code or confirmed active exploitation has been identified, and bRPC 1.18.0 is referenced as containing the correction.
Apply vendor patch (bRPC 1.18.0, per upstream PR #3462) once validated for your build. Until then, restrict network access to h2/gRPC listeners, front bRPC servers with a proxy or load balancer that caps HPACK header counts and request rates below the 121-entry threshold, disable HTTP/2 where it is not required, and configure automatic process restart with alerting on abort events so repeated crash attempts do not produce extended outages.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-107224
CVE.org
EPSS
Exploit-DB