漏洞信息
尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。
Vulnerability Title
Infinite loop denial of service in Zephyr SDIO byte-I/O from a card-supplied zero max_blk_size
Vulnerability Description
The Zephyr SDIO subsystem function sdio_io_rw_extended_helper() in subsys/sd/sdio.c finishes transfers with a byte-I/O loop that uses size = MIN(remaining, func->cis.max_blk_size) as the per-iteration step. The value func->cis.max_blk_size is decoded directly from the SDIO card's CIS FUNCE tuple in sdio_decode_cis() and is not validated. When a card reports a maximum block size of zero, size is always 0, remaining never decreases, and the loop spins forever.
The loop is reached from the public SDIO client API used by drivers, including sdio_read_fifo(), sdio_write_fifo(), and the incrementing register read/write helpers, each of which enters the loop while holding the per-card mutex func->card->lock. A card advertising max_blk_size == 0 therefore hangs the calling thread permanently on its first non-block-aligned transfer and never releases the mutex, denying service to the SDIO peripheral (and any subsystem such as Wi-Fi that depends on it) until the device is reset.
The malicious value must come from the SDIO card itself, so the defect is exploitable where a removable SDIO/combo card slot lets an attacker insert a crafted or malfunctioning card (a physical attack vector); on boards with a soldered SDIO peripheral it is not attacker-influenceable. There is no memory-safety, confidentiality, or integrity impact — only a permanent availability loss. The fix returns -EIO when func->cis.max_blk_size is zero, before the loop is entered.
CVSS Information
CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Vulnerability Type
不可达退出条件的循环(无限循环)
Vulnerability Title
zephyrproject Zephyr 资源管理错误漏洞
Vulnerability Description
zephyrproject Zephyr是zephyrproject组织开源的一款面向物联网设备的实时操作系统。 zephyrproject Zephyr 3.6.0版本至4.4.2之前版本存在资源管理错误漏洞,该漏洞源于subsys/sd/sdio.c中SDIO子系统函数sdio_io_rw_extended_helper()使用字节I/O循环且未验证从SDIO卡CIS FUNCE元组解码的max_blk_size,当最大块大小为0时循环步长始终为0,导致无限自旋并在持有互斥锁时永不释放,可能造成SDI
CVSS Information
N/A
Vulnerability Type
N/A