drm/amd/display:避免 dcn35_set_drr() 和 dc_state_destruct() 之间的竞争(CVE-2024-46850)
CVE编号
CVE-2024-46850利用情况
暂无补丁情况
N/A披露时间
2024-09-27漏洞描述
在Linux内核中,已经解决了以下漏洞:drm/amd/display:避免dcn35_set_drr()和dc_state_destruct()之间的竞态条件。dc_state_destruct()会置DC状态的资源上下文为null。传递给dcn35_set_drr()的管道上下文是这个资源上下文的一个成员。如果dc_state_destruct()与中断处理并行调用(中断处理会在某一点调用dcn35_set_drr()),我们可能会使用已经被置为null的struct stream_resource的函数回调字段。dcn35_set_drr()中的逻辑已经尝试避免这种情况,通过检查tg是否为null。但是,如果置null操作正好在NULL检查之后和下一次访问之前发生,那么就会出现竞态条件。为了避免这种情况,首先将tg复制到一个局部变量中,然后使用这个变量进行所有操作。只要没有人释放资源池(其中居住着时序生成器),这种方法就应该有效。(从commit 0607a50c004798a96e62c089a4c34c220179dcb5中挑选)解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接 |
|
---|---|
https://git.kernel.org/stable/c/42850927656a540428e58d370b3c1599a617bac7 | |
https://git.kernel.org/stable/c/e835d5144f5ef78e4f8828c63e2f0d61144f283a |
受影响软件情况
# | 类型 | 厂商 | 产品 | 版本 | 影响面 | ||||
1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
运行在以下环境 | |||||||||
系统 | debian_11 | linux | * | Up to (excluding) 5.10.223-1 | |||||
运行在以下环境 | |||||||||
系统 | debian_12 | linux | * | Up to (excluding) 6.1.106-3 |
- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论