← Back to CVE Explorer

CVE-2026-82942

Full vulnerability record from the local CVENow database.

Description

A data race in the RDMA transport of Apache bRPC (versions < 1.18.0) allows a remote client to crash the server process (denial of service) when RDMA is enabled at build time and runtime. Root Cause: When a bRPC server negotiates RDMA with a client, the handshake completes on the TCP fd, but the server kept parsing that fd afterwards as if it were still an RPC channel. The TCP-fd input stream and the RDMA QP input stream (driven by CQ events) shared the same Socket::_read_buf, preferred_index and parsing_context without synchronization. In addition, CQ event processing could start while the handshake parsing was still in progress, and the handshake ACK phase could consume bytes belonging to the next protocol. A remote, unauthenticated client that has completed the RDMA handshake can send data on the TCP fd at the same time RDMA messages are being processed, corrupting the shared input buffer and parser state and crashing the server process (CWE-362, availability impact). Affected Scenarios: Use a bRPC server with RDMA support enabled (built with BRPC_WITH_RDMA and serving rdma:// / SOCKET_MODE_RDMA sockets) and accept connections from untrusted clients. Deployments without RDMA are not affected. How to Fix: (Choose one of the following options) 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3505

Severity
HIGH
CVSS score
7.5 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-10-21 13:20:03.403000
Last modified
2026-10-30 15:16:55.963000
View original CVE JSON
{
  "id": "CVE-2026-82942",
  "sourceIdentifier": "[email protected]",
  "published": "2026-10-21T13:20:03.403",
  "lastModified": "2026-10-30T15:16:55.963",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "A data race in the RDMA transport of Apache bRPC (versions < 1.18.0) allows a remote client to crash the server process (denial of service) when RDMA is enabled at build time and runtime.\n\nRoot Cause:\nWhen a bRPC server negotiates RDMA with a client, the handshake completes on the TCP fd, but the server kept parsing that fd afterwards as if it were still an RPC channel. The TCP-fd input stream and the RDMA QP input stream (driven by CQ events) shared the same Socket::_read_buf, preferred_index and parsing_context without synchronization. In addition, CQ event processing could start while the handshake parsing was still in progress, and the handshake ACK phase could consume bytes belonging to the next protocol. A remote, unauthenticated client that has completed the RDMA handshake can send data on the TCP fd at the same time RDMA messages are being processed, corrupting the shared input buffer and parser state and crashing the server process (CWE-362, availability impact).\n\nAffected Scenarios:\nUse a bRPC server with RDMA support enabled (built with BRPC_WITH_RDMA and serving rdma:// / SOCKET_MODE_RDMA sockets) and accept connections from untrusted clients. Deployments without RDMA are not affected.\n\nHow to Fix:\n(Choose one of the following options)\n1. Upgrade bRPC to version 1.18.0, which fixes this issue.\n2. Apply this patch:  https://github.com/apache/brpc/pull/3505"
    },
    {
      "lang": "es",
      "value": "Una condición de carrera en el transporte RDMA de Apache bRPC (versiones anteriores a la 1.18.0) permite que un cliente remoto provoque la caída del proceso del servidor (denegación de servicio) cuando RDMA está habilitado en tiempo de compilación y ejecución.\\n\\nCausa raíz:\\nCuando un servidor bRPC negocia RDMA con un cliente, el apretón de manos se completa en el descriptor TCP fd, pero el servidor siguió analizando ese fd después como si siguiera siendo un canal RPC. El flujo de entrada del descriptor TCP fd y el flujo de entrada RDMA QP (impulsado por eventos CQ) compartían el mismo Socket::_read_buf, preferred_index y parsing_context sin sincronización. Además, el procesamiento de eventos CQ podía iniciarse mientras el análisis del apretón de manos aún estaba en curso, y la fase ACK del apretón de manos podía consumir bytes pertenecientes al siguiente protocolo. Un cliente remoto no autenticado que haya completado el apretón de manos RDMA puede enviar datos en el descriptor TCP fd al mismo tiempo que se procesan mensajes RDMA, corrompiendo el búfer de entrada compartido y el estado del analizador y provocando la caída del proceso del servidor (CWE-362, impacto de disponibilidad).\\n\\nEscenarios afectados:\\nUtilizar un servidor bRPC con soporte RDMA habilitado (compilado con BRPC_WITH_RDMA y sirviendo sockets rdma:// / SOCKET_MODE_RDMA) y aceptar conexiones de clientes no confiables. Las implementaciones sin RDMA no se ven afectadas.\\n\\nCómo corregir:\\n(Elija una de las siguientes opciones)\\n1. Actualizar bRPC a la versión 1.18.0, que corrige este problema.\\n2. Aplicar este parche: https://github.com/apache/brpc/pull/3505"
    }
  ],
  "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-30T14:35:34.252340Z",
          "id": "CVE-2026-82942",
          "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-362"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/apache/brpc/issues/3479",
      "source": "[email protected]"
    },
    {
      "url": "https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb",
      "source": "[email protected]"
    }
  ]
}