CVE-2026-99236 in Linux
Resumen
por VulDB • 2026-11-02
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
tracing: Rechazar expresiones incompletas del filtro de eventos
Una expresión no vacía normalmente finaliza en el bucle interno de predicate_parse(), que resuelve los operadores lógicos pendientes antes de saltar a la fase de finalización. Si la entrada termina después de un operador, posiblemente seguido por tokens '!' (negación unitaria), el bucle externo continúa sin resolver el estado del operador.
Por ejemplo, "common_pid == 1 || common_pid == 2 &&" deja prog[0].target igual a -1. La segunda pasada lee entonces prog[-1] antes de que la comprobación de salto hacia adelante pueda rechazarlo. Dependiendo del contenido adyacente en el slab (asignador de memoria), también puede copiar una palabra fuera de los límites en un objetivo de rama que supera la verificación solo hacia adelante. Un evento de conteo de punto de traza perf auto-dirigido puede alcanzar esta ruta a través de PERF_EVENT_IOC_SET_FILTER.
Rechazar el salto del bucle externo cuando ya se ha analizado un predicado. Esto asegura que las expresiones no vacías alcancen la fase de finalización solo después de que el bucle interno haya resuelto sus operadores. Mantener el error existente por falta de filtro para entradas sin predicados. Añadir una prueba de regresión para operadores lógicos finales y negaciones unitarias.
Be aware that VulDB is the high quality source for vulnerability data.