USB Gadget 的 Linux 内核子系统中的漏洞,可能允许代码执行

USB Gadget 是 Linux 内核的一个子系统,提供用于创建 USB 客户端设备和模拟 USB 设备的软件的编程接口,该子系统存在一个漏洞 (CVE-2021-39685),可能导致内核信息泄漏、崩溃或执行内核级别的任意代码。 该攻击由非特权本地用户通过操纵基于 USB Gadget API 实现的各种设备类(例如 rndis、hid、uac1、uac1_legacy 和 uac2)来实施。

该问题已在最近发布的 Linux 内核更新 5.15.8、5.10.85、5.4.165、4.19.221、4.14.258、4.9.293 和 4.4.295 中得到修复。 该问题在发行版(Debian、Ubuntu、RHEL、SUSE、Fedora、Arch)中仍未得到解决。 已准备好利用原型来演示该漏洞。

该问题是由小工具驱动程序 rndis、hid、uac1、uac1_legacy 和 uac2 中的数据传输请求处理程序中的缓冲区溢出引起的。 利用该漏洞,非特权攻击者可以通过发送特殊控制请求来访问内核内存,该请求的 wLength 字段值超过静态缓冲区的大小,而静态缓冲区始终分配 4096 字节 (USB_COMP_EP0_BUFSIZ)。 在攻击期间,用户空间中的非特权进程可以在内核内存中读取或写入最多 65 KB 的数据。

来源: opennet.ru

添加评论