CVE-2025-71294Linux内核drm/amdgpu驱动程序存在一处空指针引用安全漏洞,可能导致本地拒绝服务攻击。该问题的根本原因在于,当SDMA(系统直接内存访问)模块未被启用时,相关的buffer_funcs回调函数指针集未被正确初始化。然而,驱动代码在后续执行过程中未对指针有效性进行校验便尝试调用。本地具备低权限的攻击者可通过特定的GPU操作触发此空指针解引用,从而造成系统内核崩溃或服务不可用。该漏洞影响Linux内核的稳定性,官方已在最新提交中修复了此问题,用户应尽快升级系统内核以规避风险。
该漏洞位于Linux内核的图形驱动子系统(DRM)的AMDGPU模块中。AMDGPU驱动负责管理AMD显卡的硬件资源,其中SDMA(System DMA)引擎用于处理显存与系统内存间的数据传输。漏洞产生的具体技术原因是:在初始化过程中,如果SDMA块未被启用(可能由硬件配置或驱动加载参数决定),结构体中的buffer_funcs函数指针集合将保持未初始化状态(即NULL)。然而,在驱动执行图形缓冲区管理或调度任务时,相关代码路径未增加对buffer_funcs是否为非空指针的判别逻辑,直接通过该指针调用回调函数。当本地低权限用户触发涉及该功能的系统调用或IOCTL操作时,内核将尝试访问NULL地址,导致页错误异常。由于发生错误时处于内核上下文,且未进行有效的异常捕获,这将导致内核崩溃(Kernel Panic),系统必须重启才能恢复,从而实现拒绝服务攻击。利用此漏洞不需要用户交互,仅需本地执行权限即可触发。