CVE-2026-74755

An integer underflow in the mcpack2pb component of Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to crash a bRPC server by sending a request containing a string field with a zero value_size. The UnparsedValue::as_string() function computes `_size - 1` without validating `_size`; when value_size is 0 the expression underflows to SIZE_MAX, resize() throws std::length_error, and because the exception is not caught on the request parsing path the process aborts (SIGABRT). Root Cause: In src/mcpack2pb/parser.cpp, UnparsedValue::as_string() resizes the output string to `_size - 1`, where `_size` is the value_size of a string field taken directly from the network data. A value_size of 0 underflows the unsigned size_t, and the subsequent resize() throws an exception that is not caught. Affected Scenarios: bRPC servers that accept nshead frames wired to the ubrpc mcpack2 adaptor (for example the NsheadService + UbrpcMcpack2Adaptor deployment pattern) can be crashed by a single unauthenticated request. Stock open-source bRPC registers the ubrpc/nshead_mcpack protocols as client-only, so default server configurations are not affected. How to Fix: 1. Upgrade bRPC to a version that includes this fix. 2. Apply the patch in PR  https://github.com/apache/brpc/pull/3450
Configurations

No configuration.

History

30 Oct 2026, 18:18

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.5

26 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) Una vulnerabilidad de desbordamiento por entero en el componente mcpack2pb de Apache bRPC (versión anterior a la 1.18.0) en todas las plataformas permite a atacantes remotos bloquear un servidor bRPC enviando una solicitud que contiene un campo de cadena con un value_size igual a cero. La función UnparsedValue::as_string() calcula “_size - 1” sin validar “_size”; cuando value_size es 0 la expresión desborda a SIZE_MAX, resize() lanza std::length_error y, como la excepción no se captura en la ruta de análisis de la solicitud, el proceso aborta (SIGABRT).\n\nCausa raíz:\nEn src/mcpack2pb/parser.cpp, UnparsedValue::as_string() redimensiona la cadena de salida a “_size - 1”, donde “_size” es el value_size de un campo de cadena tomado directamente de los datos de la red. Un value_size de 0 desborda el size_t sin signo, y el posterior resize() lanza una excepción que no se captura.\n\nEscenarios afectados:\nLos servidores bRPC que aceptan tramas nshead conectadas al adaptador ubrpc mcpack2 (por ejemplo, el patrón de despliegue NsheadService + UbrpcMcpack2Adaptor) pueden ser bloqueados por una única solicitud no autenticada. La versión de código abierto de bRPC registra los protocolos ubrpc/nshead_mcpack como solo cliente, por lo que las configuraciones de servidor predeterminadas no se ven afectadas.\n\nCómo corregir:\n1. Actualizar bRPC a una versión que incluya esta corrección. \n2. Aplicar el parche en PR https://github.com/apache/brpc/pull/3450

21 Oct 2026, 12:17

Type Values Removed Values Added
New CVE

Information

Published : 2026-10-21 12:17

Updated : 2026-10-30 18:18


NVD link : CVE-2026-74755

Mitre link : CVE-2026-74755

CVE.ORG link : CVE-2026-74755


JSON object : View

Products Affected

No product.

CWE
CWE-191

Integer Underflow (Wrap or Wraparound)