Skip to main content

Apache bRPC EUVDEUVD-2026-107228

| CVE-2026-86249 CRITICAL
Improper Authentication (CWE-287)
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 crafted HEADERS frame with 121 minimal HPACK entries
  3. Exploit
    Fill dynamic-table ring buffer past 120 slots
  4. Execution
    Trigger CHECK(!_header_queue.full()) assertion
  5. Impact
    Crash server process (denial of service)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

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) exposing the HTTP/2 (h2) or gRPC protocol on a port reachable from an untrusted network, which is the default parser on bRPC server ports. The malicious header block is processed during HPACK decoding before any authenticator runs, so no credentials or user interaction are required. Exploitation is bounded only by network reachability to the h2/gRPC port and by the server running an affected version; the default 4096-byte HPACK table is sufficient to trigger the crash, so no non-default configuration is needed. Deployments that do not serve h2/gRPC, or that have upgraded to 1.18.0 / applied PR #3462, are not exploitable.

Impact

No CVSS vector, EPSS score, KEV listing, or POC indicator was supplied in the input, so quantitative exploitation signals are entirely absent and cannot be cross-referenced - this assessment rests on the Apache advisory text alone. The vulnerability is a remote denial-of-service: a crafted HPACK header block sent to a bRPC server's HTTP/2 (h2)/gRPC port causes a dynamic-table slot miscalculation (33-byte minimum entry sized as 4096/34 = 120 slots while eviction is driven by byte usage, not slot count), so the 121st minimal entry trips CHECK(!_header_queue.full()) and aborts the process. The advisory states the h2 parser runs before any Authenticator check on the shared port, implying pre-authentication reach, but because no CVSS vector was provided I cannot confirm PR:N from authoritative metrics - authentication requirements are asserted by the advisory, not by a scored vector. Impact is limited to availability (process crash); there is no indication of confidentiality or integrity loss. On balance this is a genuine, low-complexity remote-crash DoS worth prioritizing for any internet- or untrusted-network-exposed bRPC deployment, but it is NOT a high-real-risk code-execution issue, and the absence of EPSS/KEV/POC data means real-world exploitation prevalence is currently unknown rather than demonstrated.

Exploit ScenarioDerived

An attacker able to reach a bRPC server's HTTP/2 or gRPC port sends a single crafted HEADERS frame containing 121 minimal 33-byte HPACK entries (121*33 = 3993 bytes, under the 4096-byte table cap), which never triggers byte-based eviction. The 121st AddHeader call exceeds the 120 allocated ring-buffer slots, hits an internal CHECK assertion, and aborts the server process, dropping all connections. No authenticated session is needed because HPACK decoding occurs before any authenticator check; no public exploit code was identified in the provided data.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Unauthenticated remote attackers can abort an Apache bRPC process (versions through 1.17.0) by sending a single small HTTP/2 HEADERS block that over-fills the HPACK dynamic table's fixed-size ring buffer, tripping a CHECK(!_header_queue.full()) assertion that terminates the server. Because the h2 parser is enabled by default on every bRPC server port and decodes header blocks before any Authenticator runs, no credentials, user interaction, or non-default configuration are required - the default 4096-byte table is enough to reach the abort. The issue is fixed in bRPC 1.18.0 (upstream patch PR #3462); no public exploit code or confirmed active exploitation was identified at time of analysis, and no CVSS, EPSS, or KEV data was supplied alongside the advisory.

RemediationAI

Vendor-released patch: upgrade Apache bRPC to 1.18.0, which contains the corrected dynamic-table sizing (max_size / 33 minimum-entry accounting plus a guaranteed ring-buffer slot to avoid malloc(0)) and rejects oversized or malformed header handling paths. If an immediate upgrade is not possible, apply the upstream fix at https://github.com/apache/brpc/pull/3462, which backports the same accounting change. Where neither is feasible in the short term, remove the attack surface: do not expose bRPC h2/gRPC ports to untrusted networks - bind them to loopback or a private interface, or gate them behind a mutually authenticated proxy/L7 gateway that terminates HTTP/2 and re-originates a sanitized request stream (trade-off: extra hop, added latency, and the proxy itself must enforce header-list limits); or disable the h2/gRPC listener where only bRPC's native protocol is needed (trade-off: breaks all HTTP/2 and gRPC clients, including health checks and sidecars that assume h2). Note that network ACLs alone are weak mitigation because a single connection from any permitted source is enough to crash the process, so restrict access to a tightly scoped client set if full isolation is not achievable. Consult https://github.com/apache/brpc and https://seclists.org/oss-sec/2026/q4/274 for the complete 1.18.0 advisory set before rolling out the upgrade, since the same release addresses multiple related h2 and parser issues.

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

The flaw lives in the HPACK decoder used by Apache bRPC's HTTP/2 (h2) and gRPC receive path. RFC 7541 sizes a dynamic-table entry as name length + value length + 32 bytes of overhead, so the smallest possible entry is 33 bytes (a 1-byte name with an empty value). bRPC's HeaderQueue sized its slot capacity using a 34-byte assumption (4096/34 = 120 slots) while eviction in AddHeader was driven by byte accounting against _max_size rather than by slot count. Those two accounting models diverge: a peer can push 121 minimal 33-byte entries (121 × 33 = 3993, still within the 4096-byte budget) so no eviction is triggered, and the 121st insertion then hits CHECK(!_header_queue.full()) and aborts the process. This is a resource-accounting/assertion-failure pattern (the input supplied no CWE assignment; it maps conceptually to reachable-assertion and uncontrolled-resource-consumption classes) rather than a memory-corruption bug - the impact is purely availability, since a well-formed but adversarial header sequence reaches a fatal assertion in default builds. The fix resizes the dynamic table using the 33-byte minimum entry (max_size / (32 + 1)) and guarantees at least one ring-buffer slot is retained when max_size is below the minimum entry size, preventing initialization failure on malloc(0). Related h2 hardening landed in the same release (bounded concurrent streams, header-list size enforcement, and dynamic-table size validation against the advertised SETTINGS_HEADER_TABLE_SIZE), which addresses adjacent desynchronization paths in the same decoder.

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

Pre-authentication HPACK decoding on a default network-facing port with a single crafted frame gives AV:N/AC:L/PR:N/UI:N; impact is a process crash only, so A:H with C:N/I:N.

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 versions through 1.17.0 are exposed to a remote availability attack in which a single small HTTP/2 HEADERS block can terminate the server process, potentially disrupting any API or microservice built on the library. Because the HTTP/2 parser is enabled by default, affected services may be broadly exposed without special configuration, making this a leadership-level service-continuity concern. No public exploit code or confirmed active exploitation was identified at time of analysis, but the low effort and default exposure warrant prioritized remediation.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Low
niche Apache RPC framework, limited broad enterprise footprint
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.3%
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

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy