Description
The Redis server command parser in Apache bRPC accepts an empty RESP array as a command header. A remote unauthenticated attacker who can reach a bRPC server with Redis service enabled can send an empty array header followed by a bulk string, causing an out-of-bounds write in the parser and crashing the process.

Root Cause:
RedisCommandParser::ConsumeImpl rejected negative RESP array counts but accepted zero. It resized the command argument vector to zero elements and continued parsing. When a following bulk string was parsed, the only index guard was a CHECK. In configurations where fatal logs do not abort immediately, execution could continue and write to _args[0] even though the vector was empty.

Affected Scenarios:
Deployments that enable ServerOptions.redis_service and accept Redis protocol traffic from untrusted clients. The issue is reached during parsing before command handling or authentication.

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/3354

Note:
The fix rejects empty RESP arrays as invalid Redis commands and replaces the internal index CHECK with an explicit parse error so malformed command streams cannot fall through to an indexed vector write.
Published: 2026-10-21
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Out-of-Bounds Write Leading to Process Crash
Action: Patch Immediately
AI Analysis

Impact

The vulnerability is an out-of-bounds write that occurs during parsing of an empty RESP array in the Redis command parser of Apache bRPC. The bug allows an unauthenticated attacker to send a malformed Redis request, leading the parser to write to a non‑existent array index and crash the bRPC process. Because the write is uncontrolled, the result is a denial‑of‑service for the affected service.

Affected Systems

All installations of Apache bRPC that enable the ServerOptions.redis_service feature and accept Redis traffic from external clients are affected. Any bRPC version released before 1.18.0 implements the vulnerable parser logic. Upgrading to bRPC 1.18.0 or later eliminates the flaw by refusing empty array headers and rejecting the forged commands with a parse error.

Risk and Exploitability

With a CVSS score of 9.1, this flaw can be triggered from any machine that can reach the bRPC instance's Redis port. The attack requires no authentication or elevated privileges. Because the only observable effect is a crash, the likely outcome is service interruption. The EPSS score is < 1% and the vulnerability is not listed in CISA KEV, but the simplicity of the trigger means that a malicious actor could cause repeated outages if the service is exposed.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Apache bRPC to version 1.18.0 or later to remove the vulnerability.
  • If an update cannot be applied immediately, apply the upstream patch linked at the provided GitHub URL.
  • Restrict access to the bRPC Redis port by firewall or network segmentation, ensuring only authorized clients can reach the interface.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Metrics cvssV3_1

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

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, '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 The Redis server command parser in Apache bRPC accepts an empty RESP array as a command header. A remote unauthenticated attacker who can reach a bRPC server with Redis service enabled can send an empty array header followed by a bulk string, causing an out-of-bounds write in the parser and crashing the process. Root Cause: RedisCommandParser::ConsumeImpl rejected negative RESP array counts but accepted zero. It resized the command argument vector to zero elements and continued parsing. When a following bulk string was parsed, the only index guard was a CHECK. In configurations where fatal logs do not abort immediately, execution could continue and write to _args[0] even though the vector was empty. Affected Scenarios: Deployments that enable ServerOptions.redis_service and accept Redis protocol traffic from untrusted clients. The issue is reached during parsing before command handling or authentication. 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/3354 Note: The fix rejects empty RESP arrays as invalid Redis commands and replaces the internal index CHECK with an explicit parse error so malformed command streams cannot fall through to an indexed vector write.
Title Apache bRPC: Out-of-Bounds Write in Redis Command Parser
Weaknesses CWE-252
CWE-617
CWE-787
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-10-30T13:57:52.012Z

Reserved: 2026-06-21T04:48:23.647Z

Link: CVE-2026-56388

cve-icon Vulnrichment

Updated: 2026-10-30T13:57:27.628Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-30T14:17:06.653

Link: CVE-2026-56388

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T16:15:14Z

Weaknesses