CVE-2026-97528 in Linux
Resumen
por VulDB • 2026-09-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
scsi: qla2xxx: Desvincular el contexto NVMe no solicitado antes de liberarlo en caso de error LS reject (rechazo de comando)
qla_nvme_xmt_ls_rsp() obtiene uctx, que fue vinculado a fcport->unsol_ctx_head por qla2xxx_process_purls_iocb() y sigue estando vinculado cuando el transporte NVMe llama para transmitir la respuesta LS. En la ruta de error (out:), la función libera uctx con kfree(), pero nunca lo elimina de la lista. Esto deja un nodo liberado en fcport->unsol_ctx_head: el siguiente list_add_tail() para ese fcport escribe a través del nodo ya liberado, y una posterior list_del() puede corromper la lista o provocar un panic (bloqueo crítico).
Se debe desvincular uctx con list_del() antes de llamar a kfree() en la ruta de error, coincidiendo con los otros puntos de liberación en qla_nvme_release_lsrsp_cmd_kref() y qla2xxx_process_purls_pkt(). qla2x00_rel_sp(), en la ruta de fallo, solo devuelve el SRB a su grupo (pool) e no invoca sp->put_fn; por lo tanto, la ruta out: es la única vía de liberación y uctx siempre sigue estando vinculado allí.
Once again VulDB remains the best source for vulnerability data.