CVE-2025-55097CVE-2025-55097是Eclipse基金会ThreadX操作系统中USBX模块存在的一个安全漏洞。USBX是ThreadX的USB主机/设备/OTG支持模块,广泛应用于嵌入式系统和物联网设备中。该漏洞存在于USBX 6.4.3之前的版本中,具体位于`_ux_host_class_audio_streaming_sampling_get()`函数中。当系统解析USB音频流设备(USB Audio Streaming Device)的描述符时,由于缺乏对输入数据有效性的充分校验,可能导致越界读取(Out-of-Bounds Read)操作。
根据CVSS 3.1评分体系,该漏洞评分为6.1分,属于中等严重级别。其攻击向量为物理访问(AV:P),攻击者需要物理接触目标设备并插入恶意的USB音频流设备来触发该漏洞。漏洞利用无需任何认证(PR:N)和用户交互(UI:N),一旦触发将导致高机密性影响(C:H)和高可用性影响(A:H),但不影响数据完整性(I:N)。
该漏洞由Eclipse基金会安全团队成员发现并报告。鉴于USBX在嵌入式设备中的广泛应用,包括工业控制、医疗设备、消费电子等领域,该漏洞可能影响大量IoT和嵌入式产品。攻击者可以利用该漏洞读取设备内存中的敏感信息,或导致设备崩溃/拒绝服务,对设备安全构成潜在威胁。
该漏洞的根本原因在于`_ux_host_class_audio_streaming_sampling_get()`函数在解析USB音频流设备描述符时,未对描述符中的关键字段(如采样频率、通道数等参数)进行充分的边界检查。当恶意USB设备返回精心构造的音频流描述符时,其中的字段值可能超出函数内部缓冲区或数据结构的预期范围,导致越界内存读取操作。
具体技术细节如下:
1. **漏洞触发点**:`_ux_host_class_audio_streaming_sampling_get()`函数负责从USB音频流接口描述符中提取采样参数信息;
2. **触发条件**:当USB主机枚举到一个音频类(Audio Class)设备并尝试获取其流接口的采样参数时触发;
3. **根本原因**:函数在访问描述符数据时,未验证关键偏移量和长度字段是否在描述符的实际范围内;
4. **攻击方式**:攻击者制作一个恶意的USB音频设备,插入目标设备后,系统自动枚举并解析该设备时触发越界读取;
5. **影响后果**:可能泄露相邻内存中的敏感数据,或因读取非法地址导致系统崩溃(拒绝服务)。
利用该漏洞需要物理访问目标设备的能力(物理攻击向量),这在一定程度上限制了其远程利用的可能性,但在公共充电站、共享设备等场景中仍具有现实威胁。