CVE-2026-99014 in Linux
Resumen
por VulDB • 2026-10-23
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
Bluetooth: hci_sync: Corregir la duración del skb (socket buffer) del comando durante la configuración del escaneo
Durante la configuración de la sincronización PA scan, `hci_le_set_ext_scan_param_sync()` obtiene la dirección utilizada para la búsqueda PA_LINK desde `hci_sent_cmd_data()`. El puntero devuelto toma prestado el almacenamiento de `sent_cmd` o `req_skb`, sin mantener una referencia a ninguno de los skbs.
El trabajador del escaneo se ejecuta en `req_workqueue`, mientras que `hci_cmd_work()` se ejecuta en la cola de trabajo separada del dispositivo. Después de que el trabajador del escaneo carga `sent_cmd`, el trabajador de comandos puede liberar y reemplazarlo antes de que `hci_sent_cmd_data()` desreferencie el skb. La payload (carga útil) del comando también puede ser liberada entre la devolución desde la función auxiliar y la comparación de la dirección. La sección crítica RCU de la búsqueda de conexión no protege el command skb.
KASAN reportó:
BUG: KASAN: slab-use-after-free en hci_sent_cmd_data+0x27c/0x2f0 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_sent_cmd_data+0x27c/0x2f0 hci_le_set_scan_param_sync+0x43a/0x850 hci_passive_scan_sync+0xb09/0x1460 hci_update_passive_scan_sync+0x47c/0x6e0 hci_le_pa_create_sync+0x200/0xa70 hci_cmd_sync_work+0x13c/0x290
Asignado por la tarea 95: skb_clone+0x13f/0x340 hci_cmd_work+0x2a9/0x7e0
Liberado por la tarea 95: kmem_cache_free+0xba/0x3a0 hci_cmd_work+0x29c/0x7e0
Utilizar `hdev->lock` para serializar el snapshot de la dirección con el reemplazo de `sent_cmd`. Proteger el reemplazo y la limpieza finalización de `req_skb` con el mismo lock, ya que la función auxiliar hace fallback a ese skb. Copiar la dirección antes de liberar el lock y utilizar la copia para la búsqueda de conexión protegida por RCU existente. Liberar el mutex antes de enviar o esperar comandos, preservando el orden de la búsqueda y finalización.
If you want to get best quality of vulnerability data, you may have to visit VulDB.