CVE-2026-23318Linux内核的ALSA USB音频驱动存在安全漏洞,原因是UAC3头部描述符的验证表条目错误地使用了UAC_VERSION_2版本号,导致无法正确匹配UAC3设备。这使得UAC3设备的头部描述符完全绕过验证。攻击者可利用特制的恶意USB设备提交截断的头部,引发越界读取,影响系统机密性与可用性。
该漏洞源于Linux内核sound/usb/目录下处理USB音频设备的代码逻辑错误。在定义UAC3(USB Audio Class 3)AC头部描述符的验证器时,开发者错误地将协议版本标记为UAC_VERSION_2,而实际应为UAC_VERSION_3。当系统处理真正的UAC3设备时,由于版本号不匹配,验证函数无法找到对应的验证规则,导致后续的描述符解析跳过了安全检查。攻击者若插入一个经过精心构造、拥有截断UAC3头部的恶意USB设备,驱动程序在未验证长度的情况下访问描述符字段,将触发内核越界读取。这可能导致敏感内存信息泄露或内核崩溃。