CVE-2026-58064
Full vulnerability record from the local CVENow database.
Description
The Redis protocol implementation in Apache bRPC allowed inline command parsing to allocate and copy the full connection buffer before a complete CRLF-terminated command was available. A remote attacker with access to a Redis-protocol bRPC service could send long inline inputs without a terminating CRLF to increase memory usage and CPU copy overhead, potentially causing denial of service. Root Cause: The Redis inline command parser allocated memory based on the current input buffer size and copied the entire buffer before determining the current inline command boundary. The existing redis_max_allocation_size limit was applied to RESP bulk strings and arrays, but not effectively to the inline command path before allocation. Affected Scenarios: Use Apache bRPC server with Redis protocol enabled and reachable by untrusted clients. How to Fix: 1. Upgrade Apache bRPC to version 1.18.0, which fixes this issue. 2. Apply the patch from PR https://github.com/apache/brpc/pull/3363 . Note: The fix applies redis_max_allocation_size to Redis inline command lines and scans for CRLF before allocating parser arena memory. Inline command lines exceeding this limit are rejected.
View original CVE JSON
{
"id": "CVE-2026-58064",
"sourceIdentifier": "[email protected]",
"published": "2026-10-21T12:17:21.803",
"lastModified": "2026-10-30T14:17:06.840",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "The Redis protocol implementation in Apache bRPC allowed inline command parsing to allocate and copy the full connection buffer before a complete CRLF-terminated command was available. A remote attacker with access to a Redis-protocol bRPC service could send long inline inputs without a terminating CRLF to increase memory usage and CPU copy overhead, potentially causing denial of service.\n\n\nRoot Cause:\nThe Redis inline command parser allocated memory based on the current input buffer size and copied the entire buffer before determining the current inline command boundary. The existing redis_max_allocation_size limit was applied to RESP bulk strings and arrays, but not effectively to the inline command path before allocation.\n\n\nAffected Scenarios:\nUse Apache bRPC server with Redis protocol enabled and reachable by untrusted clients.\n\n\nHow to Fix:\n1. Upgrade Apache bRPC to version 1.18.0, which fixes this issue.\n2. Apply the patch from PR https://github.com/apache/brpc/pull/3363 .\n\n\nNote:\nThe fix applies redis_max_allocation_size to Redis inline command lines and scans for CRLF before allocating parser arena memory. Inline command lines exceeding this limit are rejected."
},
{
"lang": "es",
"value": "La implementación del protocolo Redis en Apache bRPC permitía el análisis de comandos en línea que asignaba y copiaba todo el búfer de conexión antes de que estuviera disponible un comando completo terminado en CRLF. Un atacante remoto con acceso a un servicio bRPC que expone el protocolo Redis podría enviar entradas largas en línea sin un CRLF de terminación para aumentar el uso de memoria y la sobrecarga de copia de CPU, lo que potencialmente provocaría una denegación de servicio.\\n\\nCausa raíz:\\nEl analizador de comandos en línea de Redis asignaba memoria basándose en el tamaño actual del búfer de entrada y copiaba todo el búfer antes de determinar el límite del comando en línea actual. El límite existente redis_max_allocation_size se aplicaba a cadenas y arreglos bulk de RESP, pero no de manera efectiva a la ruta de comandos en línea antes de la asignación.\\n\\nEscenarios afectados:\\nUso del servidor Apache bRPC con el protocolo Redis habilitado y accesible por clientes no confiables.\\n\\nCómo corregir:\\n1. Actualizar Apache bRPC a la versión 1.18.0, que corrige este problema.\\n2. Aplicar el parche del PR https://github.com/apache/brpc/pull/3363 .\\n\\nNota:\\nLa corrección aplica redis_max_allocation_size a las líneas de comandos en línea de Redis y verifica la presencia de CRLF antes de asignar memoria al área del analizador. Las líneas de comandos en línea que superen este límite son rechazadas."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache bRPC",
"defaultStatus": "unaffected",
"collectionURL": "https://github.com",
"packageName": "apache/brpc",
"packageURL": "pkg:github/apache/brpc",
"versions": [
{
"version": "0",
"lessThan": "1.18.0",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-10-30T13:59:03.634739Z",
"id": "CVE-2026-58064",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-770"
}
]
}
],
"references": [
{
"url": "https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb",
"source": "[email protected]"
}
]
}