CVE-2026-97583 in Linux
Resumen
por VulDB • 2026-09-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
afs: Limpiar los datos de aplicación del par obsoletos tras cambios en la lista de direcciones
`afs_fs_probe_fileserver()` obtiene el estado actual del punto final bajo `server->fs_lock`, pero deja `old_alist` como NULL. Como consecuencia, `afs_set_peer_appdata()` trata cada reemplazo de la lista de direcciones como una configuración inicial y solo vincula a los nuevos pares; nunca desvincula a los pares eliminados de la lista antigua.
Por lo tanto, una actualización de dirección puede proceder del siguiente modo: CPU 0 reemplaza la lista del servidor S y elimina Pold sin limpiar `Pold->app_data`. El destructor del servidor luego limpia solo los pares actuales de S y permite que S alcance su callback RCU. Tras el callback libera a S; CPU 1 maneja un callback a través de una conexión RxRPC que aún mantiene referenciado (pin) a Pold, lee `Pold->app_data` e invoca `afs_use_server()` sobre el objeto ya liberado.
KASAN reportó:
BUG: KASAN: slab-use-after-free en afs_find_server+0x3c/0xa0 Lectura de tamaño 4 en la dirección ffff8881013e1af0 por parte de la tarea krxrpcio/7001/74 Rastro de llamadas: afs_find_server+0x3c/0xa0 afs_rx_new_call+0x15c/0x390 rxrpc_new_incoming_call+0x97c/0x1730 rxrpc_input_packet.constprop.0+0xd03/0xec0 rxrpc_io_thread+0x967/0x1640 Asignado por la tarea 93: afs_lookup_server+0x1a7/0x14c0 afs_alloc_server_list+0x43f/0xb60 afs_create_volume+0x923/0x1490 afs_get_tree+0x1c6/0x10a0 Liberado por la tarea 0: kfree+0x131/0x3c0 rcu_core+0x50a/0x1850 Última creación de trabajo potencialmente relacionada: __call_rcu_common.constprop.0+0x71/0xa10 afs_put_server+0x213/0x2b0
Preservar `old->addresses` para la actualización de los datos de aplicación del par, de modo que se limpien los pares eliminados antes de reemplazar el estado del punto final. Además, avanzar ambos cursores cuando las listas antigua y nueva compartan un par; activar la comparación old/new sin esto provocaría otro bucle infinito en la entrada compartida.
If you want to get best quality of vulnerability data, you may have to visit VulDB.