Description
Out-of-bounds reads in URL parsing and case-insensitive header lookup in Apache bRPC before version 1.18.0 on platforms where plain char is unsigned, such as ARM64, allow remote attackers to cause a process crash and denial of service by sending crafted input containing bytes with the high bit set.

Root Cause:
Two 256-entry lookup tables are accessed through pointers biased by 128 so that valid indices are in the range -128 to 127. Input bytes are promoted from plain char to int without first normalizing them to the signed-char range. On affected platforms, bytes in the range 0x80 to 0xFF therefore become indices 128 to 255 and read up to 127 bytes beyond the end of the underlying tables.

Affected Scenarios:
A remotely accessible bRPC HTTP server on an affected platform can reach the vulnerable URL lookup through an unauthenticated request URI containing a high-bit byte. The case-insensitive lookup is also reachable when untrusted header names are processed through APIs such as the HTTP/2 HPACK path. HTTP/1 header names containing high-bit bytes are rejected by the HTTP/1 parser before reaching the vulnerable lookup. Builds where plain char is signed, which commonly include x86_64 builds, are not affected by this issue.

How to Fix:
Choose one of the following options:
1. Upgrade Apache bRPC to version 1.18.0 or later.
2. Apply the patch from https://github.com/apache/brpc/pull/3376 .

The fix normalizes lookup-table indices to the signed-char range before accessing the biased tables.
Published: 2026-10-21
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is an off‑by‑bias out‑of‑bounds read in URL parsing and case‑insensitive header lookup tables. On platforms where plain char is unsigned, such as ARM64, input bytes with the high bit set are promoted to integers in the range 0x80–0xFF, causing the lookup tables to be indexed beyond their 0–255 bounds. The resulting memory read can read up to 127 bytes past the end of the table, allowing a remote attacker to trigger a process crash and deny service to legitimate users. The weakness corresponds to CWE‑125 and provides only denial of service; there is no remote code execution.

Affected Systems

Affected systems are Apache bRPC deployments on any platform where plain char is unsigned, specifically all builds prior to version 1.18.0. The vulnerable code exists in URL parsing logic and the case‑insensitive header lookup used by HTTP/2 HPACK processing. Platforms that default to signed char, such as most x86_64 builds, are not impacted. All other versions of Apache bRPC released after 1.18.0 contain the fix that normalizes lookup‑table indices to the signed‑char range.

Risk and Exploitability

The attack vector is remote and unauthenticated over HTTP. A crafted request URI or header containing a high‑bit byte can exercise the vulnerable lookup and cause a crash. The EPSS score is below 1%, and the issue is not listed in CISA KEV, indicating no widespread exploitation yet. The CVSS score of 7.5 indicates a high severity. Nevertheless, any exposed bRPC HTTP server can be brought down with a simple request. The weakness corresponds to CWE‑125 and provides only denial of service; there is no remote code execution.

Generated by OpenCVE AI on October 30, 2026 at 16:58 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Apache bRPC version 1.18.0 or later.
  • If upgrade is not feasible immediately, apply the patch from PR 3376 (https://github.com/apache/brpc/pull/3376).
  • Until the patch is deployed, validate or reject request URIs and header names that contain high‑bit characters to avoid triggering the out‑of‑bounds read.

Generated by OpenCVE AI on October 30, 2026 at 16:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache brpc
Vendors & Products Apache
Apache brpc

Wed, 21 Oct 2026 12:00:00 +0000

Type Values Removed Values Added
Description Out-of-bounds reads in URL parsing and case-insensitive header lookup in Apache bRPC before version 1.18.0 on platforms where plain char is unsigned, such as ARM64, allow remote attackers to cause a process crash and denial of service by sending crafted input containing bytes with the high bit set. Root Cause: Two 256-entry lookup tables are accessed through pointers biased by 128 so that valid indices are in the range -128 to 127. Input bytes are promoted from plain char to int without first normalizing them to the signed-char range. On affected platforms, bytes in the range 0x80 to 0xFF therefore become indices 128 to 255 and read up to 127 bytes beyond the end of the underlying tables. Affected Scenarios: A remotely accessible bRPC HTTP server on an affected platform can reach the vulnerable URL lookup through an unauthenticated request URI containing a high-bit byte. The case-insensitive lookup is also reachable when untrusted header names are processed through APIs such as the HTTP/2 HPACK path. HTTP/1 header names containing high-bit bytes are rejected by the HTTP/1 parser before reaching the vulnerable lookup. Builds where plain char is signed, which commonly include x86_64 builds, are not affected by this issue. How to Fix: Choose one of the following options: 1. Upgrade Apache bRPC to version 1.18.0 or later. 2. Apply the patch from https://github.com/apache/brpc/pull/3376 . The fix normalizes lookup-table indices to the signed-char range before accessing the biased tables.
Title Apache bRPC: Out-of-bounds Read in URL and Header Lookup Tables on Unsigned-char Platforms
Weaknesses CWE-125
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-10-30T14:14:07.721Z

Reserved: 2026-07-13T03:51:32.682Z

Link: CVE-2026-61916

cve-icon Vulnrichment

Updated: 2026-10-30T14:12:43.573Z

cve-icon NVD

Status : Deferred

Published: 2026-10-21T12:17:22.280

Modified: 2026-10-30T15:16:53.797

Link: CVE-2026-61916

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T17:00:20Z

Weaknesses