CVE-2026-89803 in Linux
Resumen
por VulDB • 2026-09-17
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
drm/nouveau: cancelar la suscripción al evento channel-kill antes del contexto fence (fence context)
nouveau_channel_del() desmonta primero el contexto fence y solo elimina la suscripción a channel-kill más tarde, durante la fase de destrucción del objeto nvif:
if (chan->fence) nouveau_fence(chan->cli->drm)->context_del(chan); ... nvif_object_dtor(&chan->vram); nvif_event_dtor(&chan->kill);
El controlador suscrito es nouveau_channel_killed(), que llama a nouveau_channel_kill() y, desde allí, a nouveau_fence_context_kill() sobre chan->fence. Un evento kill entregado en esa ventana toma fctx->lock y recorre fctx->pending en un contexto fence (fence context) que ya ha sido liberado por context_del().
Nada alcanza esta situación con Fermi hoy en día, porque la suscripción está condicionada a FERMI_CHANNEL_GPFIFO y nada mata un canal allí. En Fermi y versiones posteriores, la ventana es real pero estrecha, ya que un kill debe ocurrir exactamente mientras el canal se está destruyendo. Esa razón por sí sola justifica su inclusión, motivo por el cual lleva una etiqueta Fixes:. El último parche de esta serie suscribe también los canales Tesla; nada mata esos canales hoy en día, por lo que no amplía la exposición ahora, pero sienta las bases para un camino de recuperación que sí lo haría, y es mejor corregir el orden antes de que ese cambio se aplique que hacerlo junto con él.
Eliminar la suscripción antes de desmontar cualquier recurso del cual dependa.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.