Skip to main content

Apache bRPC EUVDEUVD-2026-107220

| CVE-2026-82942 CRITICAL
Race Condition (CWE-362)
View

Attack ChainAIDerived

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

  1. Access
    Reach bRPC h2/gRPC port on untrusted network
  2. Delivery
    Send HEADERS with 121 minimal 33-byte HPACK entries
  3. Exploit
    Fill ring buffer without triggering byte-based eviction
  4. Execution
    121st AddHeader trips CHECK(!_header_queue.full())
  5. Impact
    Process abort / denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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.17.0) that serves HTTP/2 or gRPC via the h2 protocol on a port reachable from an untrusted network; the h2 parser is enabled by default on every server port and performs HPACK decoding of incoming request headers before any Authenticator check, so no credentials, user interaction, or non-default configuration are needed. The default 4096-byte HPACK dynamic table (yielding ~120 slots) is the vulnerable condition. Limiting factors: the server must actually expose the h2/gRPC protocol - bRPC services that do not serve h2/gRPC are not reachable through this specific vector - and impact is confined to crashing the single server process (availability), with no data exposure or code execution.

Impact

This is a remote, pre-authentication denial-of-service in Apache bRPC's HTTP/2 (h2) HPACK decoder: a peer can add 121 minimal 33-byte dynamic-table entries (121*33 = 3993 <= 4096) without triggering byte-usage-driven eviction, so the 121st AddHeader trips CHECK(!_header_queue.full()) and aborts the process. No CVSS vector, CWE, EPSS score, KEV listing, or public POC was supplied in the input, so quantitative exploitation-probability and active-exploitation signals are all ABSENT rather than low - their absence cannot be read as 'safe'. On the signals that ARE present, the advisory states the h2 parser is enabled by default on every server port and processes the malicious header block during HPACK decoding before any Authenticator check, implying trivial attack complexity and no privileges; my independent assessment is therefore AV:N/AC:L/PR:N/UI:N with availability-only impact (process crash), roughly a 7.5/High. Exploitation status: no public exploit identified at time of analysis. Net: for any bRPC deployment that exposes h2/gRPC to untrusted networks this is a genuine, easily-triggered crash worth prompt patching, but impact is confined to availability (no confidentiality/integrity/RCE) and real-world urgency is tempered by the product's limited deployment footprint and the lack of any exploitation or POC evidence.

Exploit ScenarioDerived

An unauthenticated attacker opens an HTTP/2 connection to a bRPC server's h2/gRPC port and sends a crafted HEADERS block containing 121 minimal 33-byte HPACK dynamic-table entries, which stay under the 4096-byte eviction threshold but exceed the ~120 ring-buffer slots. The 121st AddHeader hits a CHECK assertion and aborts the server process, taking down the service. No public proof-of-concept exploit was identified at the time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.1% 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 pre-authentication denial of service in Apache bRPC through 1.17.0 lets any network peer that can reach an HTTP/2 or gRPC (h2) listener abort the server process. The HPACK decoder sizes its default 4096-byte dynamic table for 33-byte minimum entries (roughly 120 slots) but evicts only on byte usage, so 121 minimal 33-byte insertions (3993 bytes) fit under the byte cap while exhausting the fixed slot ring buffer; the 121st AddHeader trips CHECK(!_header_queue.full()) and terminates the process. No public exploit identified at time of analysis, and because the h2 parser decodes headers before any Authenticator check, no credentials or user interaction are required.

RemediationAI

Vendor-released patch: upgrade Apache bRPC to 1.18.0, which sizes the HPACK dynamic table for the 33-byte minimum entry (max_size / (32 + 1)) and guarantees at least one ring-buffer slot when max_size is smaller than a minimum entry, so initialization cannot fail on malloc(0). Alternatively apply the upstream fix at https://github.com/apache/brpc/pull/3462. If neither can be deployed immediately, restrict network access to h2/gRPC listener ports to trusted peers (trade-off: constrains legitimate gRPC clients and does not address multi-tenant exposure); front the service with an HTTP/2 proxy that independently enforces HPACK dynamic-table size and per-connection header-count limits (trade-off: end-to-end gRPC semantics and streaming behavior must be validated, and the proxy must genuinely enforce limits rather than pass them through); or disable h2/gRPC on untrusted ports and serve only protocols that never invoke the HPACK decoder (trade-off: breaks all gRPC clients). Because the failure mode is a full process abort, supervisor auto-restart and per-source connection rate limiting only reduce blast radius and are not fixes; monitor for repeated aborts and abnormal header-volume patterns on h2 connections. Advisory: https://seclists.org/oss-sec/2026/q4/274.

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

Apache bRPC's HTTP/2 (h2) support is enabled by default on every bRPC server port and is used for both h2 and gRPC traffic; HPACK (RFC 7541) header decompression runs on the receive path before any Authenticator check, making it reachable pre-authentication. The decoder keeps a dynamic table backed by a fixed-size ring buffer ('header queue') plus a byte-usage counter. Slot capacity is derived from a 33-byte minimum entry (1-byte name + empty value + overhead, divided by 34 in the code), so a default 4096-byte table yields only about 120 slots. Eviction, however, is driven solely by _max_size byte accounting: 121 minimal 33-byte entries total 3993 bytes, still below 4096, so no eviction fires even though the ring buffer is full; the next insertion reaches the invariant assertion CHECK(!_header_queue.full()), which aborts the entire process instead of returning a stream-level error. No CWE was assigned in the supplied data, but the defect is a resource-accounting mismatch (CWE-770 class) surfacing as a reachable assertion (CWE-617 class).

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

h2 parser is default-enabled and runs before authentication so AV:N/AC:L/PR:N/UI:N; impact is a single-process abort, availability-only, hence A:H with C:N/I:N and scope unchanged.

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, the RPC framework behind a range of internal and customer-facing gRPC/HTTP-2 services, can be forced to terminate its server process by any peer able to open a connection to an exposed h2 listener, with no credentials or user interaction needed. Because the flaw sits in the header-decoding path ahead of any authentication check and the trigger is small enough to fit in a single request, teams that run bRPC 1.17.0 or earlier should treat availability of those services as unpatched and externally reachable until network exposure is reduced. Leadership should care because the failure mode is a hard process abort rather than degraded performance, meaning customer-facing outages and cascading failures for dependent services can result from a trivially small amount of traffic.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict h2 listener reachability with network ACLs, security groups, or a fronting proxy limited to known client ranges; enforce header-count and connection-rate limits at the edge; disable HTTP/2/gRPC on services that do not require it; run bRPC processes under supervision with automatic restart and alert on repeated aborts; monitor for connection bursts or crash loops targeting h2 ports.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
specialized high-performance RPC framework, niche microservice deployments not ubiquitous
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.1%
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

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

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