CVE-2025-55095CVE-2025-55095是eclipse-threadx项目USBX主机栈中的一个高危安全漏洞,存在于USB mass storage设备的分区挂载功能中。该漏洞的CVSS评分为4.2(中危),由安全研究员[email protected]于2026年1月27日披露。漏洞根源在于_ux_host_class_storage_media_mount()函数在处理扩展分区时存在无限制递归调用,当解析包含扩展分区的USB存储设备时,如果分区表中存在循环或过深的扩展分区链,函数将持续递归调用自身直到栈空间耗尽,最终导致栈溢出崩溃。攻击者需要制作包含恶意分区结构的磁盘镜像,并通过本地访问的方式触发漏洞利用。该漏洞影响USBX库在嵌入式系统和物联网设备中的安全使用。
漏洞存在于eclipse-threadx/usbx库的_ux_host_class_storage_media_mount()函数中。该函数负责挂载USB mass storage设备上的分区,当解析到扩展分区(partition type为UX_HOST_CLASS_STORAGE_PARTITION_EXTENDED或EXTENDED_LBA_MAPPED)时,会递归调用自身来处理下一个逻辑分区。递归调用路径为:_ux_host_class_storage_media_mount() -> _ux_host_class_storage_partition_read()(解析最多4个分区条目)。关键问题是代码中缺少两个重要的安全机制:1)递归深度限制检查,没有最大递归次数控制;2)访问扇区的去重跟踪,无法检测循环分区链。攻击者可以构造一个包含循环扩展分区指针或超长扩展分区链的恶意磁盘镜像文件,当USBX尝试挂载该设备时,递归调用会无限进行直到栈溢出。由于该函数使用本地攻击向量(AV:L),需要低权限用户权限(PR:L)并涉及用户交互(UI:R),实际利用难度相对较高,但一旦成功可导致设备拒绝服务或潜在的代码执行。