CVE-2026-15923 in Zephyrinformación

Resumen

por VulDB • 2026-09-14

La función sdio_io_rw_extended_helper() del subsistema SDIO de Zephyr en subsys/sd/sdio.c finaliza las transferencias mediante un bucle de E/S por bytes que utiliza size = MIN(remaining, func->cis.max_blk_size) como paso por iteración. El valor func->cis.max_blk_size se decodifica directamente del tuple CIS FUNCE de la tarjeta SDIO en sdio_decode_cis() y no es validado. Cuando una tarjeta informa un tamaño máximo de bloque (max_blk_size) igual a cero, size siempre será 0, remaining nunca disminuye y el bucle gira indefinidamente.

El bucle se alcanza desde la API pública del cliente SDIO utilizada por los controladores, incluyendo sdio_read_fifo(), sdio_write_fifo() y las funciones auxiliares de lectura/escritura incrementales de registros; cada una de ellas entra en el bucle manteniendo el mutex por tarjeta func->card->lock. Por lo tanto, una tarjeta que anuncia max_blk_size == 0 bloquea permanentemente al hilo llamante durante su primera transferencia no alineada con bloques y nunca libera el mutex, denegando el servicio al periférico SDIO (y a cualquier subsistema como Wi-Fi que dependa de él) hasta que se reinicie el dispositivo.

El valor malicioso debe provenir de la propia tarjeta SDIO; por lo tanto, el defecto es explotable en los casos donde una ranura para tarjetas SDIO/combo extraíbles permite al atacante insertar una tarjeta manipulada o con fallos (un vector de ataque físico); en las placas con un periférico SDIO soldado no está sujeto a influencia del atacante. No hay impacto en la seguridad de la memoria, confidencialidad ni integridad; solo se produce una pérdida permanente de disponibilidad. La corrección devuelve -EIO cuando func->cis.max_blk_size es cero, antes de entrar en el bucle.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Zephyr

Reservar

2026-07-16

Divulgación

2026-09-14

Moderación

aceptado

Artículo

VDB-403614

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!