CVE-2026-82425 in bRPC
Resumen
por VulDB • 2026-10-21
Un aserción alcanzable en Apache bRPC (versión < 1.18.0) en todas las plataformas permite que un peer remoto malicioso provoque la caída del proceso, lo que resulta en una denegación de servicio.
Causa raíz: Cuando un Socket con verificación de salud habilitada falla, `Socket::WaitAndReset` cierra su descriptor de archivo mientras el despachador de eventos puede seguir entregando un evento de entrada (EPOLLIN/EVFILT_READ) que fue obtenido para el fd recién cerrado. Si la comprobación de salud luego tiene éxito y revive al Socket, `Socket::Address` vuelve a tener éxito mientras el fd sigue siendo -1 (la siguiente reconexión por escritura se realiza bajo demanda). En esa ventana, `Socket::OnInputEvent` golpea `CHECK(!(events & EPOLLIN))` (o su equivalente en kqueue) porque el Socket es direccionable pero no tiene un fd. Las fallas de CHECK terminan el proceso cuando bRPC está compilado con glog o cuando la bandera -crash_on_fatal_log está habilitada (las comprobaciones siempre terminan también en compilaciones OFFICIAL_BUILD/NDEBUG).
Escenarios afectados: Aplicaciones que utilizan clientes bRPC con verificación de salud habilitada (-health_check_interval). Un peer remoto malicioso al que el cliente se conecta puede abortar deliberadamente las conexiones y aceptar inmediatamente las sondas de verificación de salud, compitiendo entre la desmontaje de la conexión y la revivificación por verificación de salud para desencadenar la aserción y abortar el proceso.
Cómo solucionar: (Elija una de las siguientes opciones) 1. Actualice bRPC a la versión 1.18.0, que corrige este problema. 2. Aplique este parche: https://github.com/apache/brpc/pull/3510
Nota: Después de aplicar la corrección, los eventos de entrada obsoletos en un Socket revivido sin fd se descartan silenciosamente en lugar de desencadenar la aserción. No se cambia ninguna interfaz visible para el usuario ni protocolo de red.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.