CVE-2026-43279Linux内核ALSA子系统的USB音频驱动程序存在一个安全漏洞。在隐式反馈模式下,当系统在实际播放前静音播放URB数据包时,代码盲目假设接收到的数据包大小适合缓冲区大小。然而,当捕获流的设置与播放流不同时(例如由于USB核心最大数据包大小限制),这种不一致性会导致对缓冲区的越界写入,从而引发内核崩溃。该修复措施通过在prepare_silent_urb()函数中添加传输缓冲区大小的完整性检查来防止内核发生严重错误。
该漏洞源于Linux内核sound/usb/pcm.c中的`prepare_silent_urb`函数。在使用USB音频设备的隐式反馈模式时,驱动程序需要根据捕获流的反馈来准备播放数据。漏洞触发条件是捕获流的参数设置(特别是数据包大小)与播放流的缓冲区设置不一致。当USB设备或USB核心层对最大数据包大小有特殊限制时,捕获端接收到的数据包大小可能会超过播放端预设的缓冲区大小。攻击者需具备本地低权限,通过触发特定音频流配置,利用代码中缺乏的边界检查,导致写入操作越过缓冲区末尾,破坏相邻内核内存,最终导致内核恐慌或系统崩溃。