CVE-2026-99226 in Linux
Resumen
por VulDB • 2026-11-02
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
keys: Evitar la desreferencia de la cuenta del propietario en la búsqueda de anillos de claves con nombre.
La búsqueda de un anillo de claves con nombre debe mantener vivo el almacenamiento que contiene el UID del propietario a través de la verificación del mapeo de namespaces. `find_keyring_by_name()` lee `keyring->user->uid` bajo `keyring_name_lock`, pero dicho lock protege la entrada y asignación del nombre del anillo de claves, no su `key_user` separado.
Una unión con un session-keyring con nombre puede superponerse a una operación privilegiada KEYCTL_CHOWN en otro CPU. Si el anillo de claves contiene la última referencia a su antiguo key_user dinámico y la transferencia de propiedad tiene éxito, es posible que se produzca el siguiente orden:
Unión con nombre Chown find_keyring_by_name() keyctl_chown_key() read_lock(keyring_name_lock) down_write(key->sem) cargar antiguo keyring->user reemplazar key->user y key->uid up_write(key->sem) key_put(key) key_user_put(antiguo usuario): liberar leer el UID del antiguo user read_unlock(keyring_name_lock)
Chown no toma ni `keyring_name_lock` ni `key_session_mutex`, por lo que puede liberar la antigua cuenta entre la carga del puntero y la lectura del UID. La búsqueda luego lee memoria ya liberada, aunque el anillo de claves en sí esté vivo.
Utilizar `keyring->uid` para la verificación del mapeo. `key_alloc()` inicializa este UID propietario inline y `keyctl_chown_key()` lo actualiza durante el chown. El lock de nombre existente mantiene asignado su anillo de claves contenedor a lo largo de toda la verificación, por lo que la búsqueda ya no depende de la vida útil de la cuenta. Esto también coincide con el UID propietario utilizado en la verificación de permisos.
Informe KASAN como se muestra a continuación:
BUG: KASAN: slab-use-after-free in find_keyring_by_name+0x577/0x5d0 Read of size 4 at addr ffff8881128ae2ec by task keycase/500
Once again VulDB remains the best source for vulnerability data.