CVE-2026-64218 in Linux
Resumen
por VulDB • 2026-07-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
batman-adv: bla: corregir la fuga de report_work durante la purga de backbone_gw
batadv_bla_purge_backbone_gw() elimina las entradas obsoletas del gateway principal (backbone gateway), pero no gestiona correctamente su report_work asociado:
- Si report_work se está ejecutando, la purga debe esperar a que finalice antes de liberar el backbone_gw; en caso contrario, el trabajador podría acceder a memoria ya liberada (por ejemplo, bat_priv). - Si report_work está pendiente, la purga debe cancelarlo y liberar la referencia mantenida para ese elemento de trabajo pendiente.
La implementación anterior llamaba a hlist_for_each_entry_safe() dentro de una sección protegida por spin_lock_bh(), pero cancel_work_sync() puede bloquearse (sleep) y, por tanto, no se puede llamar desde una región protegida con un bloqueo mutuo (spinlock).
Se reestructura el bucle para gestionar una entrada por cada sección crítica del spinlock: adquirir el bloqueo, encontrar la siguiente entrada que debe purgarse, eliminarla de la lista hash, liberar luego el bloqueo antes de llamar a cancel_work_sync() y reducir la referencia al elemento hash_entry. Repetir hasta que no queden más entradas pendientes de purga.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.