CVE-2026-23356 in Linux Kernel
Resumen
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: drbd: corrige el 'LOGIC BUG' en drbd_al_begin_io_nonblock() Aunque verificamos que "deberíamos" poder hacer lc_get_cumulative() mientras mantenemos el spinlock device->al_lock, aún puede fallar, si alguna otra ruta de código decidió hacer lc_try_lock() con una sincronización deficiente. Si eso sucedía, registrábamos 'LOGIC BUG for enr=...', pero aún así no devolvíamos un error. El resto del código ahora asumía que esta solicitud tiene referencias para las extensiones de registro de actividad relevantes. Las implicaciones son que durante una resincronización activa, la exclusividad mutua de la resincronización frente a la E/S de la aplicación no está garantizada. Y un posible fallo en este punto podría no darse cuenta de que estas extensiones podrían haber sido objetivo de E/S en curso y necesitarían ser resincronizadas por si acaso. Además, una vez que la solicitud se completa, liberará referencias del registro de actividad que ni siquiera posee, lo que activará un BUG_ON(refcnt == 0) en lc_put(). Solución: No bloquear el kernel por una condición inofensiva durante el funcionamiento normal: también capturar 'e->refcnt == 0', no solo 'e == NULL' al ser ruidoso sobre 'al_complete_io() called on inactive extent %u\n'. Y no intentar ser inteligente y "adivinar" si algo funcionará, para luego sorprenderse cuando no lo haga. Afrontar el hecho de que puede o no funcionar. Si no funciona, recordar un posible estado de 'parcialmente en el registro de actividad' (solo posible para solicitudes que cruzan límites de extensión), y devolver un código de error desde drbd_al_begin_io_nonblock(). Una llamada posterior para la misma solicitud se reanudará desde donde lo dejamos.
Responsable
Linux
Reservar
2026-01-13
Divulgación
2026-03-25
Voces
VulDB provides additional information and datapoints for this CVE:
| ID | Vulnerabilidad | CWE | Exp | Con | CVE |
|---|---|---|---|---|---|
| 353044 | Linux Kernel drbd_al_begin_io_nonblock denegación de servicio | 911 | No está definido | Arreglo oficial | CVE-2026-23356 |