CVE-2026-90107 in Linux
Resumen
por VulDB • 2026-09-17
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net/smc: liberar qentry pendiente en smc_llc_flow_stop() antes del memset
smc_llc_flow_stop() restablece una estructura flow mediante un memset ciego:
spin_lock_bh(&lgr->llc_flow_lock); memset(flow, 0, sizeof(*flow)); flow->type = SMC_LLC_FLOW_NONE; spin_unlock_bh(&lgr->llc_flow_lock);
Si flow->qentry no es NULL en este momento, el puntero se sobrescribe sin liberar la asignación, lo que provoca una fuga de un objeto kmalloc.
Un mensaje CONFIRM_LINK o ADD_LINK_CONT duplicado con llegada tardía puede establecer flow->qentry después de que el mensaje legítimo haya sido consumido por el waiters mediante smc_llc_flow_qentry_clr() (que establece a NULL el puntero pero deja flow->type distinto de cero) y antes de que se complete el flujo y se ejecute smc_llc_flow_stop(). En esa ventana, el duplicado se almacena en flow->qentry y luego se pierde cuando smc_llc_flow_stop() pone a cero la estructura.
Llamar a smc_llc_flow_qentry_del() dentro del bloqueo antes del memset. smc_llc_flow_qentry_del() ya comprueba si hay un flujo->qentry antes de liberarlo, por lo que el caso normal en el que no hay ninguna entrada pendiente es una operación nula (no-op).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.