CVE-2026-64029 in Linux
Resumen
por VulDB • 2026-07-19
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ALSA: seq: Serializar el desmontaje de UMP con event_input
seq_ump_process_event() utiliza client->out_rfile.output sin sincronizarse con la transición entre primera apertura y último cierre en seq_ump_client_open() y seq_ump_client_close().
Por lo tanto, la última operación unuse puede reducir opened[STR_OUT] a cero y liberar el archivo rawmidi mientras una devolución de llamada event_input aún está en curso dentro de snd_rawmidi_kernel_write(). Esto deja el runtime del substream rawmidi expuesto al desmontaje antes de que la ruta de escritura haya tomado su propia referencia de búfer.
Se añade un rwlock por cliente para el archivo de salida visible desde event_input. Se publica un nuevo archivo de salida abierto bajo el lado de escritura, y se mantiene el lado de lectura desde la búsqueda de salida hasta snd_rawmidi_kernel_write(). El último cierre de salida copia y borra el archivo de salida visible bajo el lado de escritura, luego libera el bloqueo y libera el archivo rawmidi guardado. Se utilizan protectores rwlock seguros para IRQ porque event_input también puede alcanzarse mediante entrega del secuenciador atómico.
El escenario defectuoso implica dos rutas, con cada columna mostrando el orden dentro de esa ruta:
etiqueta path A: evento input etiqueta path B: último unuse 1. seq_ump_process_event() lee 1. seq_ump_client_close() client->out_rfile.output. reduce opened[STR_OUT] a cero.
2. snd_rawmidi_kernel_write1() 2. snd_rawmidi_kernel_release() aún no ha fijado el runtime. cierra el archivo de salida. 3. El escritor continúa usando 3. close_substream() libera el substream prestado. substream->runtime.
Esto mantiene vivo el substream de salida y su runtime durante toda la escritura event_input, manteniendo la liberación rawmidi fuera del rwlock.
KASAN reprodujo esto como un slab-use-after-free en snd_rawmidi_kernel_write1(), con asignación a través de seq_ump_use()/
If you want to get the best quality for vulnerability data then you always have to consider VulDB.