GHSA-jm3m-mg8w-9wmc
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed bRPC h2/gRPC port
-
DeliveryOpen unauthenticated HTTP/2 connection
-
ExploitSend 121 minimal HPACK entries
-
ExecutionFill dynamic-table ring buffer
-
PersistTrigger CHECK assertion abort
-
ImpactCrash server process (DoS)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
|
| Exploitation Conditions | Requires a bRPC server (version < 1.18.0) serving HTTP/2 or gRPC over the h2 protocol and reachable from an untrusted network. The advisory states the h2/HPACK parser is enabled by default on every bRPC server port and executes before any Authenticator check, so exploitation needs no authentication, no user interaction, and no non-default configuration - it works against the default 4096-byte HPACK dynamic table. The only real limiting factor is exposure: the server must actually serve h2/gRPC on a network-reachable port; pure non-h2 (e.g. baidu_std-only) deployments or ports not exposed to untrusted clients are not affected by this specific trigger. |
| Impact | This is a remote, unauthenticated denial-of-service (process abort) in Apache bRPC's HPACK decoder, disclosed as part of an Apache advisory bundling 35 fixes for release 1.18.0. No CVSS vector, EPSS score, KEV listing, or POC is present in the supplied data, so quantitative exploitation signals are entirely absent and cannot be compared. On the qualitative evidence the risk is genuine but bounded: the description establishes a deterministic, low-complexity trigger - a peer sends 121 minimal 33-byte HPACK dynamic-table entries (121*33 = 3993 bytes, under the default 4096-byte table limit) so byte-driven eviction never fires, and the 121st AddHeader violates CHECK(!_header_queue.full()), aborting the process. Impact is availability-only (crash/DoS); there is no indication of confidentiality or integrity impact or code execution. Crucially the advisory states the h2/HPACK parser is enabled by default on every bRPC server port and runs before any Authenticator check, so no privileges or user interaction are needed. Net: a real, reliably reproducible DoS that should be prioritized by anyone exposing bRPC h2/gRPC to untrusted networks, but it is not a high-CVSS code-execution emergency - treat as a patch-soon availability bug, not an actively-exploited RCE. All exploitation-probability claims here are inferred from the description because EPSS/KEV/POC data were not provided. |
| Exploit ScenarioDerived | An attacker reachable on a bRPC server's HTTP/2 or gRPC port opens an h2 connection and sends a single crafted HEADERS block containing 121 minimal (33-byte) HPACK dynamic-table entries. During HPACK decoding the dynamic-table ring buffer fills beyond its 120 allocated slots, the 121st AddHeader fails the CHECK(!_header_queue.full()) assertion, and the server process aborts - a clean unauthenticated remote crash. No public exploit identified at time of analysis, though the trigger is precisely documented in the advisory and trivially reproducible. |
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: a peer can fill the HTTP/2 HPACK dynamic-table ring buffer with 121 minimal 33-byte header entries that stay within the 4096-byte byte budget but exceed the 120-slot queue, triggering CHECK(!_header_queue.full()) and aborting the process. Any bRPC server exposing h2 or gRPC to an untrusted network is affected because HPACK decoding happens before any Authenticator check. No public exploit code was identified at the time of analysis; this is one of 35 flaws fixed in bRPC 1.18.0.
RemediationAI
Vendor-released patch: 1.18.0. Upgrade to Apache bRPC 1.18.0, or apply the upstream patch at https://github.com/apache/brpc/pull/3462. Until the upgrade can be completed, restrict every h2/gRPC listener to trusted networks using firewall rules or security groups, because the HPACK parser executes before authentication and an Authenticator does not mitigate this flaw; the trade-off is loss of legitimate external h2/gRPC access. If an L7 proxy or load balancer fronts the service, enforce strict per-request header-count and header-list-size limits there, accepting that legitimate clients sending many small headers may be rejected. Confirm exposure by checking which bRPC ports speak h2/gRPC, since the h2 parser is enabled by default, and monitor for process aborts or CHECK failures in the HPACK path.
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
HTTP/2 header compression uses HPACK (RFC 7541), whose dynamic table evicts entries by byte accounting rather than by slot count. bRPC's decoder sized its ring buffer using a 34-byte minimum entry (4096/34 = 120 slots), but the actual minimum valid entry is 33 bytes (1-byte name index plus zero-length value plus 32 bytes of overhead). Because eviction is driven by _max_size byte usage, a peer can insert 121 entries of 33 bytes each (3993 bytes, under the 4096-byte limit) without evicting, and the 121st AddHeader hits CHECK(!_header_queue.full()) and aborts the process. The fix in 1.18.0 sizes the dynamic table using the 33-byte minimum (max_size/(32+1)) and guarantees at least one ring-buffer slot when max_size is below the minimum entry, preventing initialization failure on malloc(0). The vulnerable decoding path runs on the default h2 parser before authentication.
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
Default-enabled h2 parser runs pre-authentication over the network with a deterministic low-complexity trigger (PR:N/AV:N/AC:L/UI:N); impact is process abort only, so C:N/I:N/A:H.
Estimated by vuln.today — no official severity rating has been published for this CVE yet.
Lifecycle Timeline
2Description PRE-NVD
Executive ViewAI
Apache bRPC deployments at or below 1.17.0 face a high-severity availability risk: a remote peer can force the server process to abort through HTTP/2 header handling, potentially disrupting services that expose h2 or gRPC to untrusted networks. Leadership should prioritize exposure review because the failure mode is service outage rather than data compromise, and no public exploit code was identified at time of analysis.
No vendor-released patch identified at time of analysis; however, the description references bRPC 1.18.0 as containing the fix, so apply vendor patch if that version is confirmed by the vendor advisory. Interim mitigations include restricting h2 and gRPC exposure to trusted networks, enforcing edge connection and header-count/size limits, rate-limiting peers, monitoring for CHECK failures or process aborts, and restarting affected services under supervision.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-107227
CVE.org
EPSS
Exploit-DB