漏洞标题
drm/xe:修复队列销毁过程中的UAF漏洞
漏洞描述信息
在Linux内核中,解决了以下漏洞:
drm/xe: 修复队列销毁过程中的UAF(释放后使用)问题
当前,我们执行的操作类似于将最终销毁步骤排队在一个随机的系统工作队列上,该队列的生命周期将超过驱动程序实例。如果时序不佳,可能会导致在工作队列仍然存活的情况下拆卸驱动程序,从而导致各种UAF问题。添加一个终止单元以确保用户队列被正确销毁。此时,GuC应该已经被销毁,因此从硬件角度来看,队列本身不应再被引用。
v2 (Matt B)
- 使用等待队列并在触发清空操作前等待xa_array变为空看起来更加安全。
(从提交861108666cc0e999cffeab6aff17b662e68774e3中挑选)
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
漏洞类别
释放后使用
漏洞标题
drm/xe: fix UAF around queue destruction
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
drm/xe: fix UAF around queue destruction
We currently do stuff like queuing the final destruction step on a
random system wq, which will outlive the driver instance. With bad
timing we can teardown the driver with one or more work workqueue still
being alive leading to various UAF splats. Add a fini step to ensure
user queues are properly torn down. At this point GuC should already be
nuked so queue itself should no longer be referenced from hw pov.
v2 (Matt B)
- Looks much safer to use a waitqueue and then just wait for the
xa_array to become empty before triggering the drain.
(cherry picked from commit 861108666cc0e999cffeab6aff17b662e68774e3)
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于drm/xe组件在队列销毁周围的释放后重用问题。
CVSS信息
N/A
漏洞类别
其他