Vulnerabilidad en kernel de Linux (CVE-2024-57930)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/01/2025
Última modificación:
21/01/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tracing: Hacer que process_string() también permita matrices Para detectar un error común en el que un TP_fast_assign() de TRACE_EVENT() asigna una dirección de una cadena asignada al búfer de anillo y luego la referencia en TP_printk(), que se puede ejecutar horas después cuando la cadena está libre, la función test_event_printk() se ejecuta en todos los eventos a medida que se registran para asegurarse de que no haya desreferenciaciones no deseadas. Llama a process_string() para gestionar los casos en formato TP_printk() que tienen "%s". Devuelve si la cadena es segura o no. Pero puede tener algunos falsos positivos. Por ejemplo, xe_bo_move() tiene: TP_printk("move_lacks_source:%s, migrate object %p [size %zu] from %s to %s device_id:%s", __entry->move_lacks_source ? "yes" : "no", __entry->bo, __entry->size, xe_mem_type_to_name[__entry->old_placement], xe_mem_type_to_name[__entry->new_placement], __get_str(device_id)) Where the "%s" Donde "%s" hace referencia a xe_mem_type_to_name[]. Esta es una matriz de punteros a los que el evento debería poder acceder de forma segura. En lugar de marcar esto como una referencia incorrecta, si una referencia apunta a una matriz, donde el campo de registro es el índice, considérela segura.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/3bcdc9039a6e9e6e47ed689a37b8d57894a3c571
- https://git.kernel.org/stable/c/631b1e09e213c86d5a4ce23d45c81af473bb0ac7
- https://git.kernel.org/stable/c/92bd18c74624e5eb9f96e70076aa46293f4b626f
- https://git.kernel.org/stable/c/a64e5295ebc4afdefe69cdf16cc286a60ff8ba4b
- https://git.kernel.org/stable/c/afc6717628f959941d7b33728570568b4af1c4b8