CVE-2026-43438Linux内核的sched_ext组件中存在引用计数下溢漏洞。在scx_cgroup_init()函数的错误处理路径中,错误地调用了css_put()来释放引用。由于迭代器css_for_each_descendant_pre并没有通过css_get()获取引用,这导致了引用计数下溢。该漏洞可能被本地攻击者利用,造成Use-After-Free或系统崩溃,严重影响系统的机密性、完整性和可用性。
漏洞位于Linux内核的sched_ext(调度器扩展)模块中。函数scx_cgroup_init()负责初始化cgroup支持,它使用了css_for_each_descendant_pre()迭代器来遍历cgroup层次结构。该迭代器在cgroup_lock()锁的保护下运行,确保遍历期间结构体稳定,因此不增加css结构体的引用计数。然而,在初始化失败跳转到错误处理路径时,代码错误地调用了css_put()。由于此前并未调用css_get(),导致引用计数变为负数(下溢)。这种内存管理错误可能导致内核对象被提前释放,进而引发Use-After-Free漏洞。攻击者可通过本地低权限触发该逻辑,导致内核崩溃或潜在的权限提升。