CVE-2026-61916
Full vulnerability record from the local CVENow database.
Description
Out-of-bounds reads in URL parsing and case-insensitive header lookup in Apache bRPC before version 1.18.0 on platforms where plain char is unsigned, such as ARM64, allow remote attackers to cause a process crash and denial of service by sending crafted input containing bytes with the high bit set. Root Cause: Two 256-entry lookup tables are accessed through pointers biased by 128 so that valid indices are in the range -128 to 127. Input bytes are promoted from plain char to int without first normalizing them to the signed-char range. On affected platforms, bytes in the range 0x80 to 0xFF therefore become indices 128 to 255 and read up to 127 bytes beyond the end of the underlying tables. Affected Scenarios: A remotely accessible bRPC HTTP server on an affected platform can reach the vulnerable URL lookup through an unauthenticated request URI containing a high-bit byte. The case-insensitive lookup is also reachable when untrusted header names are processed through APIs such as the HTTP/2 HPACK path. HTTP/1 header names containing high-bit bytes are rejected by the HTTP/1 parser before reaching the vulnerable lookup. Builds where plain char is signed, which commonly include x86_64 builds, are not affected by this issue. How to Fix: Choose one of the following options: 1. Upgrade Apache bRPC to version 1.18.0 or later. 2. Apply the patch from https://github.com/apache/brpc/pull/3376 . The fix normalizes lookup-table indices to the signed-char range before accessing the biased tables.
View original CVE JSON
{
"id": "CVE-2026-61916",
"sourceIdentifier": "[email protected]",
"published": "2026-10-21T12:17:22.280",
"lastModified": "2026-10-30T15:16:53.797",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Out-of-bounds reads in URL parsing and case-insensitive header lookup in Apache bRPC before version 1.18.0 on platforms where plain char is unsigned, such as ARM64, allow remote attackers to cause a process crash and denial of service by sending crafted input containing bytes with the high bit set.\n\nRoot Cause:\nTwo 256-entry lookup tables are accessed through pointers biased by 128 so that valid indices are in the range -128 to 127. Input bytes are promoted from plain char to int without first normalizing them to the signed-char range. On affected platforms, bytes in the range 0x80 to 0xFF therefore become indices 128 to 255 and read up to 127 bytes beyond the end of the underlying tables.\n\nAffected Scenarios:\nA remotely accessible bRPC HTTP server on an affected platform can reach the vulnerable URL lookup through an unauthenticated request URI containing a high-bit byte. The case-insensitive lookup is also reachable when untrusted header names are processed through APIs such as the HTTP/2 HPACK path. HTTP/1 header names containing high-bit bytes are rejected by the HTTP/1 parser before reaching the vulnerable lookup. Builds where plain char is signed, which commonly include x86_64 builds, are not affected by this issue.\n\nHow to Fix:\nChoose one of the following options:\n1. Upgrade Apache bRPC to version 1.18.0 or later.\n2. Apply the patch from https://github.com/apache/brpc/pull/3376 .\n\nThe fix normalizes lookup-table indices to the signed-char range before accessing the biased tables."
},
{
"lang": "es",
"value": "Lecturas fuera de límites en el análisis de URL y en la búsqueda de encabezados sin distinción de mayúsculas/minúsculas en Apache bRPC antes de la versión 1.18.0 en plataformas donde el tipo char es sin signo, como ARM64, permiten a atacantes remotos provocar un bloqueo del proceso y una denegación de servicio al enviar datos manipulados que contienen bytes con el bit más alto activado.\\n\\nCausa raíz:\\nDos tablas de búsqueda de 256 entradas se acceden mediante punteros sesgados en 128, de modo que los índices válidos están en el rango -128 a 127. Los bytes de entrada se promueven de char sin signo a int sin normalizarlos primero al rango de char con signo. En las plataformas afectadas, los bytes en el rango 0x80 a 0xFF se convierten en índices 128 a 255 y se leen hasta 127 bytes más allá del final de las tablas subyacentes.\\n\\nEscenarios afectados:\\nUn servidor bRPC HTTP accesible de forma remota en una plataforma afectada puede alcanzar la búsqueda vulnerable de URL mediante una URI de solicitud no autenticada que contenga un byte con el bit más alto activado. La búsqueda sin distinción de mayúsculas/minúsculas también es accesible cuando se procesan nombres de encabezados no confiables a través de API como la ruta HPACK de HTTP/2. Los nombres de encabezados HTTP/1 que contienen bytes con el bit más alto son rechazados por el analizador HTTP/1 antes de llegar a la búsqueda vulnerable. Las compilaciones donde el tipo char es con signo, que comúnmente incluyen compilaciones x86_64, no se ven afectadas por este problema.\\n\\nCómo solucionar:\\nElija una de las siguientes opciones:\\n1. Actualizar Apache bRPC a la versión 1.18.0 o posterior.\\n2. Aplicar el parche desde https://github.com/apache/brpc/pull/3376.\\n\\nLa corrección normaliza los índices de la tabla de búsqueda al rango de char con signo antes de acceder a las tablas sesgadas."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "Apache Software Foundation",
"product": "Apache bRPC",
"defaultStatus": "unaffected",
"collectionURL": "https://github.com",
"packageName": "apache/brpc",
"platforms": [
"ARM64",
"RISC-V",
"other platforms where plain char is unsigned"
],
"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:12:52.938481Z",
"id": "CVE-2026-61916",
"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-125"
}
]
}
],
"references": [
{
"url": "https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb",
"source": "[email protected]"
}
]
}