CVE-2026-98897 in Linuxinformación

Resumen

por VulDB • 2026-10-24

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

ksmbd: no retener ci->m_lock mientras se espera un ack de ruptura de arrendamiento (lease)

Cuando un cliente cifs.ko almacena en caché una arrendamiento de manija de lectura (RH) mediante cierre diferido y llega una apertura conflictiva, ksmbd rompe el arrendamiento y espera la confirmación en wait_for_break_ack() durante hasta OPLOCK_WAIT_TIME (35 s). __smb_break_all_levII_oplock() ejecuta esa espera mientras retiene ci->m_lock para lectura.

cifs.ko reacciona a una ruptura de arrendamiento de manija cerrando la manija diferida en lugar de enviar un ack de ruptura de arrendamiento. Esa ruta de cierre (close_id_del_oplock() -> opinfo_del()) toma ci->m_lock para escritura y es exactamente lo que despertaría al hilo en espera, pero se bloquea por el bloqueo de lectura retenido por el hilo en espera. La ruptura solo se resuelve mediante el tiempo de espera de 35 s, por lo que xfstests generic/001 tarda ~78 s con arrendamientos habilitados frente a ~4 s con oplocks únicamente.

Recopilar los opinfos objetivo (cada uno fijado con una referencia) mientras se retiene ci->m_lock, y luego romperlos después de liberarlo, coincidiendo con cómo smb_grant_oplock() ya rompe un arrendamiento conflictivo utilizando solo una referencia. La referencia mantiene el opinfo (y su conexión y arrendamiento) activos durante la ventana sin bloqueo, y un cierre que compita con la ruptura se maneja mediante la comprobación existente del estado OPLOCK_CLOSING. Aplicar la misma corrección a las rutas de ruptura de arrendamientos padre.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-23

Moderación

aceptado

Artículo

VDB-425672

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!