CVE-2024-58018 Linux内核r535.c缓冲区溢出漏洞分析
漏洞概述
在Linux内核最高至6.12.13/6.13.2版本中发现了一个被归类为严重级别的漏洞。该漏洞影响文件drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c中的函数r535_gsp_cmdq_push,操作导致缓冲区溢出。
此漏洞被命名为CVE-2024-58018,目前尚无可用漏洞利用程序。
技术细节
漏洞成因
该漏洞被归类为CWE-120缓冲区拷贝未检查大小问题。产品在将输入缓冲区复制到输出缓冲区时,未验证输入缓冲区大小是否小于输出缓冲区大小,导致缓冲区溢出。
根据CVE总结:在Linux内核中,已解决以下漏洞:
nvkm:正确计算GSP cmdq缓冲区的可用空间
r535_gsp_cmdq_push()在处理大型RPC请求时等待GSP cmdq缓冲区中的可用页面。当它看到cmdq中至少有一个可用页面时,它会退出等待并返回队列中的空闲缓冲区页面数。
不幸的是,在回滚之前,它总是将[写指针,buf_size]作为可用缓冲区页面,并错误计算应复制的数据大小。因此,它可能覆盖GSP当前正在读取的RPC请求,导致由于RPC请求损坏而引发的GSP挂起:
|
|
影响范围
受影响产品:
- Linux内核版本:6.12.0至6.12.13,6.13.0至6.13.2
影响方面:
- 机密性、完整性和可用性
解决方案
修复方案
升级到版本6.12.14、6.13.3或6.14-rc1可消除此漏洞。
应用补丁56e6c7f6d2a6b4e0aae0528c502e56825bb40598/6b6b75728c86f60c1fc596f0d4542427d0e6065b/01ed662bdd6fce4f59c1804b334610d710d79fa0能够消除此问题。
安全评分
- CVSS v3基础评分:8.0
- CVSS v3临时评分:7.6
- NVD基础评分:5.5
漏洞利用信息
- 当前漏洞利用价格估算:0-5,000美元
- 可利用性:容易
- 目前尚无可用漏洞利用程序
检测工具
Nessus漏洞扫描器提供ID为236983的插件(Ubuntu 24.04 LTS / 24.10:Linux内核漏洞(USN-7521-1)),可帮助确定目标环境中是否存在此缺陷。
时间线
- 2025年2月27日:咨询披露
- 2025年2月27日:CVE保留
- 2025年2月27日:VulDB条目创建
- 2025年10月23日:VulDB条目最后更新
参考资料
该漏洞还在以下数据库中记录:
- Tenable (236983)
- EUVD (EUVD-2025-5201)
- CERT Bund (WID-SEC-2025-0453)
咨询共享下载地址:git.kernel.org