CVE-2025-71124CVE-2025-71124是Linux内核中drm/msm/a6xx图形驱动的一个中等严重性安全漏洞。该漏洞存在于GPU抢占(preemption)机制的实现代码中,具体问题是在调用preempt_prepare_postamble()函数之前未能正确验证preempt_postamble_ptr指针的有效性。当GPU抢占的后置amble(后处理程序)内存分配失败时,preempt_postamble_ptr指针可能为NULL,此时直接调用preempt_prepare_postamble()并解引用该空指针将导致系统崩溃。此漏洞需要本地低权限用户即可触发,虽然不影响系统机密性和完整性,但会对系统可用性造成严重影响,可能导致拒绝服务(DoS)。该漏洞已在Linux内核主线版本中修复,通过将指针有效性检查移至函数调用之前来防止空指针解引用。
在Linux内核的drm/msm/a6xx GPU驱动中,GPU抢占机制用于在多个任务之间快速切换GPU控制权。抢占过程包括准备阶段(preamble)和完成阶段(postamble)。漏洞出现在preempt_prepare_postamble()函数的调用逻辑中:代码在未检查preempt_postamble_ptr是否为NULL的情况下就直接调用该函数。当GPU抢占的postamble内存分配失败时(NULL),preempt_prepare_postamble()内部尝试访问该指针成员将触发NULL指针解引用,导致内核崩溃(oops或kernel panic)。攻击者可通过编写特定的用户空间程序,触发GPU抢占路径并使postamble分配失败来利用此漏洞。成功利用可造成本地拒绝服务攻击,系统需要重启才能恢复。修复方案是将preempt_postamble_ptr的NULL检查提前到preempt_prepare_postamble()调用之前,并在检查失败时正确跳转到错误处理流程,避免执行危险的指针解引用操作。