CVE-2026-31753Linux内核中的auxdisplay组件存在一个空指针解引用漏洞。该漏洞出现在linedisp_release函数中,当设备释放回调被触发时,如果依赖的附件列表已被移除,to_linedisp()将返回NULL。随后的代码直接解引用该空指针以释放资源,导致系统崩溃或拒绝服务。攻击者需具备本地低权限即可利用此漏洞。
该漏洞是由于Linux内核auxdisplay驱动程序中资源管理逻辑错误引起的。在linedisp_release()函数内部,代码通过to_linedisp()宏尝试从struct device中获取父结构体struct linedisp。该宏依赖于attachment链表的查找。然而,在执行linedisp_unregister()或linedisp_register()的错误处理路径时,put_device()可能在attachment被清除之后才调用release回调。在这种情况下,to_linedisp()返回NULL指针,linedisp_release()未进行有效性检查便直接利用该指针执行free操作,从而引发内核空指针解引用错误。根据CVSS向量分析,该漏洞攻击向量为本地,攻击复杂度低,且对系统可用性造成严重影响(A:H),可导致内核崩溃。