CVE-2026-43287Linux内核DRM子系统存在安全漏洞。DRM_IOCTL_MODE_CREATEPROPBLOB接口允许用户空间分配任意大小的属性blob,但该内核内存分配未正确计入调用进程的内存控制组。这使得低权限本地用户能够无限制地消耗内核内存,可能导致系统级内存耗尽(OOM),进而造成系统拒绝服务,严重影响系统可用性。
漏洞源于Linux内核DRM子系统的内存分配机制。在处理DRM_IOCTL_MODE_CREATEPROPBLOB ioctl调用时,内核使用`drm_property_create_blob`函数为用户空间请求的属性数据分配内核内存。关键问题在于该分配操作未使用`GFP_KERNEL_ACCOUNT`标志进行标记。
`GFP_KERNEL_ACCOUNT`标志的作用是将内核内存分配计入调用进程的内存控制组。由于缺少该标志,分配的内存不受cgroup内存限制的约束。这使得低权限攻击者能够通过编写恶意程序,循环调用该接口并请求大尺寸的内存块,从而绕过现有的资源配额限制。
随着攻击的持续,内核可分配的内存将被大量耗尽,最终触发系统的OOM(Out of Memory)机制。OOM Killer可能会强制终止系统中的关键进程,导致系统崩溃、卡死或重启,从而实现拒绝服务攻击。该漏洞的利用不需要用户交互,攻击门槛较低。