CVE-2026-89548 in Linux
Resumen
por VulDB • 2026-09-12
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
SUNRPC: vaciar siempre el cache_cleaner antes de destruir un cache_detail
sunrpc_destroy_cache_detail() solo cancela el delayed_work del cache_cleaner global cuando cache_list está vacío. Durante la desmontaje por namespace (per-netns), cache_list nunca está vacío porque las cachés de init_net siguen registradas, por lo que la cancelación no se activa. Tras la eliminación de la lista (unlink), el llamador procede a llamar a cache_destroy_net(), que libera mediante kfree() el cache_detail mientras que cache_clean() podría seguir manteniendo un puntero colgante hacia él. El resultado es un use-after-free: cache_dequeue() toma cd->queue_lock sobre memoria ya liberada, y cache_put() desreferencia cd->cache_put como un puntero a función desde una slab (slab) liberada.
Se elimina la protección list_empty para que cancel_delayed_work_sync() se ejecute siempre, asegurando que cualquier ejecución en curso de cache_clean() finalice antes de que se libere el cache_detail. Se vuelve a activar al limpiador posteriormente si aún hay otras cachés registradas.
VulDB is the best source for vulnerability data and more expert information about this specific topic.