# ALSA: usb-audio: 修复查找时钟源时的越界读取漏洞
## 概述
在Linux内核中,修复了USB音频驱动中的一个漏洞,该漏洞可能导致越界读取。
## 影响版本
未具体列出影响版本,但该问题存在于使用USB音频驱动的Linux内核版本中。
## 细节
当前的USB音频驱动代码在遍历时钟描述符时,未检查每个描述符的`bLength`字段。当设备提供一个具有较短`bLength`的无效描述符时,驱动程序可能会发生越界读取。
为解决此问题,补丁为时钟描述符遍历的校验函数添加了合理性检查。如果描述符长度短于预期,则跳过该循环中的描述符处理。
对于时钟源和时钟乘法描述符,可以直接检查`bLength`与描述符类型的`sizeof`结果是否一致。而对于UAC2和UAC3的时钟选择器描述符,除了`sizeof`检查外,还需要检查`bNrInPins`数组和另外两个字段。
## 影响
此漏洞可能导致越界读取,进而导致数据泄露或稳定性问题。通过补丁修复后,通过增加合理性检查可以避免此类问题。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: ALSA: usb-audio: Fix out of bounds reads when finding clock sources - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签: