GHSA-xg38-r433-2m2c
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach bRPC h2/gRPC port unauthenticated
-
DeliverySend crafted HPACK HEADERS block
-
ExploitInsert 121 minimal 33-byte entries
-
ExecutionOverflow fixed ring-buffer slots
-
ImpactTrip CHECK assertion, process aborts (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection 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 (version < 1.18.0) serving HTTP/2 or gRPC via the h2 protocol on a port reachable from an untrusted network - per the advisory the h2 parser is enabled by default on every bRPC server port and runs before any Authenticator, so no special configuration is needed to expose it. The concrete trigger is a single HPACK header block carrying 121 minimal 33-byte dynamic-table entries, which overflows the fixed ring buffer sized for the 4096-byte default table. Limiting factors: the server must actually accept h2/gRPC traffic from the attacker's network position, and the impact is a process crash (availability) only - there is no code execution or data exposure. No authentication, user interaction, or non-default setting is required. |
| Impact | No CVSS, EPSS, KEV, or POC signals were provided in the input, so risk must be inferred from the Apache advisory text alone. The flaw is a remotely-triggerable denial of service: during HPACK decoding of incoming HTTP/2/gRPC requests, a peer can insert 121 minimal 33-byte dynamic-table entries (121*33 = 3993 <= 4096) without triggering byte-driven eviction, overflowing the fixed ~120-slot ring buffer and hitting CHECK(!_header_queue.full()), which aborts the process. The advisory states this is processed 'without authentication' and the h2 parser runs before any Authenticator on the default-enabled port, so on exposure this is trivially reachable (my independent assessment is AV:N/AC:L/PR:N, ~7.5 High, availability-only). This is a real priority for any bRPC server with h2/gRPC exposed to untrusted networks because exploitation is cheap and the patch (PR 3462) is public, lowering the bar to weaponization - but impact is confined to availability (crash), with no confidentiality or integrity loss and no RCE. There are NO active-exploitation signals: EPSS, KEV, and POC are all absent from the input, so this is currently a theoretical-but-easy DoS rather than a confirmed in-the-wild threat. Note a data discrepancy: the record is labeled CVE-2026-87849 yet its own references point to CVE-2026-78048 - verify the correct identifier with the Apache advisory. |
| Exploit ScenarioDerived | An attacker who can reach a bRPC server's default h2/gRPC port sends a single crafted HEADERS block containing 121 minimal (name>=1 byte, empty value) HPACK indexed entries. Because eviction is driven by byte usage rather than slot count, the entries fit under the 4096-byte table limit but exhaust the ~120-slot ring buffer, and the 121st insertion trips a CHECK assertion that aborts the server process. No authentication is required and no public POC is identified at time of analysis, though the fix commit in PR 3462 reveals the exact trigger. |
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 allows a network attacker to abort the server process by sending a crafted HPACK header block over HTTP/2 or gRPC. The h2 parser is enabled by default on bRPC server ports and processes headers before authentication, so any exposed h2/gRPC listener is at risk. No public exploit identified at time of analysis, and the impact is limited to availability (process crash).
RemediationAI
Vendor-released patch: Apache bRPC 1.18.0, which sizes the dynamic table for the 33-byte minimum entry (max_size / (32 + 1)) and preserves at least one ring-buffer slot when max_size is below the minimum entry so initialization cannot fail on malloc(0); alternatively apply upstream patch PR https://github.com/apache/brpc/pull/3462. Until patched, restrict network access to bRPC h2/gRPC listeners to trusted clients via firewall/ACL or a front proxy that terminates HTTP/2 and enforces strict header-size and stream limits; the trade-off is reduced reachability or proxy compatibility/overhead. Exposing the port to untrusted networks should be treated as unsafe because the h2 parser runs before authentication.
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
Apache bRPC's HTTP/2 front end decodes HPACK headers into a dynamic table backed by a fixed-size ring buffer. The code sizes the table for a 33-byte minimum entry (1-byte name + zero-length value + 32-byte overhead), but computes 4096/34 = 120 slots for the default 4096-byte table while eviction is driven by byte usage (_max_size) rather than slot count. A peer can therefore insert 121 minimal 33-byte entries (3993 bytes total, under the 4096-byte cap) without eviction; the 121st insertion hits CHECK(!_header_queue.full()) and aborts the process. This is a reachable assertion failure and uncontrolled resource-consumption style denial of service in the pre-authentication h2 path; no CWE identifier was supplied in the input, but the root cause is an off-by-one slot/byte accounting mismatch in HPACK dynamic-table handling.
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
Remotely reachable default h2 parser before auth gives AV:N/AC:L/PR:N/UI:N; a reachable CHECK abort crashes the process, so A:H with no C/I impact.
Estimated by vuln.today — no official severity rating has been published for this CVE yet.
Lifecycle Timeline
2Description PRE-NVD
Executive ViewAI
Apache bRPC through 1.17.0 contains a high-severity availability flaw that can crash the server process when a crafted HPACK header block is received over HTTP/2 or gRPC, and the h2 parser is enabled by default on bRPC server ports. Any business service exposing an h2/gRPC listener is exposed to disruption, so leadership should prioritize asset discovery, network exposure reduction, and crash monitoring. No public exploit has been identified at time of analysis, and no vendor-released patch is currently identified.
Restrict network access to bRPC HTTP/2 and gRPC listeners to trusted clients; front services with a proxy or gateway that validates HTTP/2 traffic and enforces connection and rate limits; disable HTTP/2/h2 handling on bRPC listeners where operationally feasible; monitor and alert on bRPC process crashes and restarts; apply the vendor patch when released.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-107229
CVE.org
EPSS
Exploit-DB