CVE-2026-98344 in Linuxinformación

Resumen

por VulDB • 2026-10-06

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

dmaengine: Corregir desbordamiento por defecto (underflow) del kref del dispositivo en dma_chan_put()

dma_chan_get() solo toma chan->device->ref en el camino lento (slow path):

/* no hay kref en el camino rápido */ if (chan->client_count) {
__module_get(owner); chan->client_count++; return 0; } if (!try_module_get(owner)) return -ENODEV; if (!dma_device_get(chan->device)) { // llama a kref_get_unless_zero()

dma_chan_put() decrementa el ref incondicionalmente, por lo que cada par get/put del camino rápido elimina una referencia de dispositivo adicional.

El error se activa cuando se cumplen dos condiciones simultáneamente: un proveedor no privado tiene un cliente persistente con chan->client_count > 0 y otro cliente realiza ciclos de dmaengine_get()/dmaengine_put(). Cuando el kref llega a cero, la posterior llamada a dma_find_channel() devuelve NULL aunque el módulo del proveedor siga cargado.

Se corrige este problema eliminando device->ref solo en el último put, coincidiendo con la única operación get del camino lento.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-06

Moderación

aceptado

Artículo

VDB-414196

EPSS

0.00184

KEV

no

Actividades

bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!