← Back to CVE Explorer

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.

Severity
HIGH
CVSS score
7.5 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-10-21 12:17:21.803000
Last modified
2026-10-30 14:17:06.840000
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]"
    }
  ]
}