CVE-2026-97502 in Linuxinformación

Resumen

por VulDB • 2026-09-24

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

mmc: davinci: evitar la desreferencia NULL de host->data en el controlador de interrupciones (IRQ)

La función mmc_davinci_irq() sale anticipadamente solo cuando tanto host->cmd como host->data son NULL:

if (host->cmd == NULL && host->data == NULL) {
... return IRQ_NONE; }

Por lo tanto, es posible llegar legítimamente al resto del controlador con host->data == NULL (y por consiguiente data == NULL). La rama DATDNE ya se protege contra esto mediante una comprobación explícita "if (data != NULL)", pero las ramas posteriores TOUTRD ("timeout de lectura de datos") y CRCWR/CRCRD ("error de CRC de datos") desreferencian a data incondicionalmente:

if (qstatus & MMCST0_TOUTRD) {
data->error = -ETIMEDOUT; <-- Desreferencia NULL ... davinci_abort_data(host, data); }

if (qstatus & (MMCST0_CRCWR | MMCST0_CRCRD)) {
data->error = -EILSEQ; <-- Desreferencia NULL ... }

Si alguno de estos bits está establecido en qstatus mientras host->data es NULL, el kernel se bloqueará dentro del controlador de interrupciones. smatch detecta lo siguiente:

drivers/mmc/host/davinci_mmc.c:933 mmc_davinci_irq() error: asumimos previamente que 'data' podría ser nulo (ver línea 914)

Se deben proteger ambas ramas con una comprobación de data no NULL, siguiendo el patrón existente utilizado por la rama DATDNE.

No hay cambios funcionales para los llamadores donde data es distinto de NULL, que era el único caso en el que estas ramas realizaban un trabajo significativo antes de este cambio.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Reservar

2026-09-24

Divulgación

2026-09-24

Moderación

aceptado

Artículo

VDB-409673

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!