---
id: CVE-2026-54425
title: >-
  Apache bRPC: Stack Exhaustion via Recursive HPACK Dynamic Table Size Update
  Decoding
summary: >-
  Uncontrolled recursion in the HTTP/2 HPACK decoder in Apache bRPC before
  1.18.0 allows remote attackers to cause denial of service by sending a crafted
  HTTP/2 header block containing many consecutive Dynamic Table Size Update
  entries. Ea…
severity: none
cwe:
  - CWE-674
vendor: Apache Software Foundation
product: apache/brpc
affected:
  - apache/brpc < 1.18.0
published: '2026-10-21'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T11:31:19.989Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-54425'
references:
  - url: 'https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb'
tags:
  - cve.org
ingestedAt: '2026-10-21T11:47:58.157Z'
---

## Overview

Uncontrolled recursion in the HTTP/2 HPACK decoder in Apache bRPC before 1.18.0 allows remote attackers to cause denial of service by sending a crafted HTTP/2 header block containing many consecutive Dynamic Table Size Update entries. Each update was decoded by recursively invoking the HPACK decoder, which could exhaust the thread stack before a header field or end of input was reached.

Root Cause:
The bRPC HPACK decoder recursively decoded the next entry after processing a Dynamic Table Size Update. The decoder did not bound the recursion depth, so a long sequence of update entries could consume excessive stack space.

Affected Scenarios:
Use bRPC with the built-in HTTP/2 implementation to accept HTTP/2 traffic from an untrusted network.

How to Fix:
1. Upgrade bRPC to version 1.18.0, which fixes this issue.
2. Apply this patch:  https://github.com/apache/brpc/pull/3343 

Note:
The fix changes HPACK Dynamic Table Size Update decoding to use iterative parsing instead of recursive parsing.

## Affected

- `apache/brpc < 1.18.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
