Skip to main content

Apache bRPC CVE-2026-90484

| EUVDEUVD-2026-107230 CRITICAL
NULL Pointer Dereference (CWE-476)
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 HPACK header block (121 minimal entries)
  3. Exploit
    Byte-based eviction fails to free slots
  4. Execution
    Ring buffer fills, CHECK(!_header_queue.full()) aborts
  5. Impact
    Server process crashes, denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target must be a bRPC server (version <= 1.17.0) that serves HTTP/2 or gRPC over the h2 protocol and is reachable from an untrusted network; per the advisory the h2 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 credentials are required. The specific prerequisite is that the attacker can open an h2/gRPC connection and submit a HEADERS block; the limiting factors are that the deployment must actually expose an h2/gRPC listener (not only legacy baidu-std/other protocols) and must run an unpatched version - upgrading to 1.18.0 or applying PR #3462 removes the condition. Impact is limited to process crash (availability); no confidentiality or integrity effect.

Impact

No CVSS vector, EPSS score, KEV listing, or POC reference is present in the supplied data, so quantitative exploitation signals are entirely MISSING and this assessment is derived from the advisory text alone. Based on that text, the real-world risk profile is a remote, pre-authentication denial-of-service: the h2/HPACK parser runs before any Authenticator check on a port enabled by default, and a peer can send 121 minimal 33-byte header entries (121*33 = 3993 <= 4096) to trip CHECK(!_header_queue.full()) and abort the entire server process. My independently assessed vector is AV:N/AC:L/PR:N/UI:N with availability-only impact (A:H, C:N, I:N), which maps to a High base score - consistent with the 'high' severity Apache assigned to the sibling h2 DoS CVEs in the same advisory batch. The practical priority is tempered by impact scope: this is a crash/availability bug, not code execution or data exposure. EPSS is unavailable so widespread automated exploitation cannot be confirmed or ruled out; given the trivial attack complexity (a few hundred bytes, no auth, deterministic abort) weaponization would be easy if an attacker targets exposed bRPC h2 endpoints, but there is no evidence of active exploitation.

Exploit ScenarioDerived

An attacker who can reach a bRPC server's HTTP/2 or gRPC (h2) port sends a single crafted HEADERS block during a normal connection handshake, packing 121 minimal 33-byte HPACK dynamic-table entries that stay under the 4096-byte byte budget but exceed the 120 available ring-buffer slots. The 121st insertion hits an internal CHECK and aborts the process, denying service to all clients. No public exploit code is identified at time of analysis, though the trigger is simple and fully specified in the advisory.

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

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

Alert me

AnalysisAIv1 – Oct 21, 2026

Apache bRPC through 1.17.0 can be remotely aborted by an unauthenticated attacker who sends a crafted HTTP/2 HEADERS block that exhausts the HPACK dynamic-table ring buffer while staying under the byte-based eviction threshold. The h2 parser is enabled by default on bRPC server ports and processes headers before Authenticator checks, so any exposed h2/gRPC listener is sufficient; the assessed impact is availability-only (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H). No public exploit identified at time of analysis, and no KEV listing or EPSS score was present in the supplied data.

RemediationAI

Vendor-released patch: Apache bRPC 1.18.0, which the advisory states is unaffected, so upgrade to that version. If upgrading immediately is not possible, apply the upstream fix at https://github.com/apache/brpc/pull/3462. If neither can be done promptly, reduce exposure by restricting untrusted network access to bRPC h2/gRPC listeners with firewall/ACL rules or by terminating HTTP/2 at a trusted proxy that enforces strict HPACK dynamic-table and header-count limits before forwarding to bRPC; the trade-off is added latency and operational complexity, and the proxy must actually decode and enforce HPACK limits. Where the application can use a non-h2 protocol, disable h2/gRPC on externally reachable ports; this removes the attack path but breaks h2/gRPC clients. Advisory: https://seclists.org/oss-sec/2026/q4/274 .

Affected VersionsENISA

Apache bRPC ≤ 1.11.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) receive path performs HPACK decoding of peer-supplied header blocks. HPACK maintains a dynamic table/ring buffer for header compression; the advisory states bRPC uses a 33-byte minimum entry size (1-byte name plus empty value plus 32 bytes overhead) and, for a 4096-byte table, allocates only about 120 slots, while AddHeader eviction is driven by _max_size byte usage rather than slot count. A peer can therefore add enough minimal 33-byte entries to fit under the byte cap without evicting, then the next AddHeader reaches a full _header_queue and trips CHECK(!_header_queue.full()), aborting the process. The h2 parser is default-enabled on every bRPC server port and is used by h2/gRPC clients; the malicious block is processed during HPACK decoding before any Authenticator check. No CWE or CPE data was supplied; the root-cause class is a resource-accounting/assertion failure, and the fix sizes the dynamic table for the 33-byte minimum entry and preserves at least one ring-buffer slot when max_size is smaller than the minimum entry to avoid malloc(0).

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

Remote unauthenticated attacker over the default-enabled h2 port (AV:N/PR:N/UI:N) deterministically aborts the process with a small header block (AC:L); only availability is affected (A:H, C/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 deployments through 1.17.0 are exposed to a remote, unauthenticated denial-of-service condition that can abort services via malformed HTTP/2 headers processed before authentication. Because the vulnerable parser is enabled by default on h2/gRPC listeners, any exposed bRPC endpoint may be affected, creating availability risk for dependent applications and customer-facing services. No vendor patch or public exploit is currently available, so leadership should prioritize exposure reduction and monitoring while a fix is developed.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; restrict network exposure of bRPC h2/gRPC listeners, disable HTTP/2/h2 where not required, enforce connection and header-rate limits, and monitor for malformed HEADERS traffic and service aborts.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
industrial-grade Apache RPC framework, significant but specialized backend 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.2%
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

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

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