CVE-2025-71076CVE-2025-71076是Linux内核中drm/xe/oa(性能计数器开放架构)驱动程序的一个安全漏洞。该漏洞源于OA open参数未对num_syncs进行有效验证,允许用户空间程序传递任意大的num_syncs值。当用户空间应用程序传递过大的num_syncs值时,内核会尝试进行过度内存分配,可能导致系统内存资源耗尽,从而引发拒绝服务(DoS)条件。此漏洞需要本地访问权限,攻击者需要具备低权限即可实施攻击,无需用户交互。CVSS 3.1评分5.5,属于中等严重级别,主要影响系统可用性。漏洞已被修复,通过添加对num_syncs的边界检查,确保其不超过DRM_XE_MAX_SYNCS限制,超出限制时返回-EINVAL错误。该漏洞影响Linux内核的Intel Xe图形驱动子系统,存在于drm/xe/oa模块中。
Linux内核drm/xe/oa驱动中的漏洞源于对用户空间传入的num_syncs参数缺少边界检查。在Intel Xe图形驱动的性能计数器开放架构(OA)接口中,OA open系统调用接收用户空间传递的参数结构体,其中num_syncs字段表示需要同步的对象数量。然而,该字段在处理前未经过充分验证,允许恶意用户传入远超合理范围的值。当内核处理这些参数时,会根据num_syncs的值分配相应的内存结构。如果num_syncs过大,内核可能尝试分配大量内存,导致:1) 内存分配失败触发内核错误;2) 过度内存消耗影响系统整体稳定性;3) 可能的内核OOM Killer触发导致关键进程被终止。修复措施在内核代码中添加了检查逻辑,在分配前验证num_syncs是否超过DRM_XE_MAX_SYNCS常量定义的限制,若超出则立即返回-EINVAL错误,阻止进一步的内存分配操作。该修复通过引入XE_IOCTL_DBG()宏进行调试输出,并消除了重复的检查逻辑。攻击者需要本地访问系统且拥有低权限账户即可触发此漏洞,通过构造特定参数的ioctl调用实现拒绝服务攻击。