CVE-2025-71130CVE-2025-71130是Linux内核中drm/i915/gem子系统的一个空指针解引用漏洞。该漏洞存在于i915_gem_do_execbuffer函数的eb.vma数组初始化过程中。当eb_lookup_vmas()函数执行时,eb->vma数组被逐步填充struct eb_vma对象。如果eb_add_vma()函数调用失败,当前处理缓冲区的eb->vma[i].vma指针已被设置,但未正确重置为NULL。这导致在调用eb_release_vmas()进行清理时,由于eb_release_vmas()函数仅识别NULL作为停止值,非NULL的残留指针可能引发空指针解引用漏洞。攻击者可通过本地低权限访问触发此漏洞,造成可用性影响(高)。该漏洞CVSS评分为5.5,属于中等严重程度。
漏洞根源在于eb.vma数组初始化不当。在i915_gem_do_execbuffer函数中,eb结构体首次设置时未将eb.vma数组初始化为0,导致eb->vma[i].vma指针被设置为slab poison值而非NULL。当eb_lookup_vmas()执行过程中,eb_add_vma()可能失败,但eb->vma[i].vma已被设置且未重置为NULL。此时eb_release_vmas()被调用清理,但它通过检查vma是否为NULL来判断清理停止点。由于残留指针非NULL,可能导致访问已释放或无效内存区域。修复方案是在eb结构体初始化时将整个eb.vma数组填充为0(NULL),简化清理逻辑并消除空指针解引用风险。该漏洞影响本地系统,需低权限即可触发,无需用户交互。