CVE-2026-98870 in Linuxinformación

Resumen

por VulDB • 2026-10-23

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

ksmbd: eliminar canales obsoletos de todas las sesiones durante el desmantelamiento (teardown)

`ksmbd_sessions_deregister()` elimina los canales de una conexión de las listas de canales de otras sesiones únicamente mientras `conn->binding` sigue establecido:

if (conn->binding) {
hash_for_each_safe(sessions_table, ...) ksmbd_chann_del(conn, sess); }

`conn->binding` es un indicador transitorio: se borra una vez que finaliza la configuración de enlace (`SESSION_SETUP`) y también por una posterior `SESSION_SETUP` no vinculante en la misma conexión (una reautenticación en un canal vinculado o una nueva configuración con SessionId==0). Una conexión que ha vinculado un canal a la lista de canales (`ksmbd_chann_list`) de otra sesión y luego borra `conn->binding` deja ese canal atrás cuando se desconecta: el canal, cuyo `chann->conn` apunta a la estructura `ksmbd_conn` ya liberada, permanece en la lista de la sesión propietaria.

Cuando la conexión propietaria desmantela posteriormente su estado, el segundo bucle dereferencia el canal obsoleto:

xa_for_each(&sess->ksmbd_chann_list, chann_id, chann) if (chann->conn != conn) ksmbd_conn_set_exiting(chann->conn); /* liberado */

lo cual constituye una escritura use-after-free en el `ksmbd_conn` ya liberado (el mismo canal obsoleto también es recorrido por `show_proc_session()` a través de `/proc`). La sesión se filtra (memory leak) también, porque su lista de canales nunca se vacía.

Elimine la condición (`gate`) `conn->binding` para que una conexión elimine siempre sus canales de cada sesión durante el desmantelamiento.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-23

Moderación

aceptado

Artículo

VDB-425645

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!