CVE-2026-31652Linux内核mm/damon/stat模块存在内存泄漏漏洞。damon_stat_start()函数在分配damon_ctx对象后,若damon_call()调用失败,未释放该对象导致泄漏。若用户反复写入“enabled”,将持续泄漏内存。简单的释放修复会引发kdamond线程对已释放内存的访问。该漏洞需本地低权限触发,可能导致系统内存耗尽拒绝服务。
该漏洞发生在Linux内核的DAMON(数据访问监控)统计功能中。当`damon_stat_start`被调用时,它会分配`damon_ctx`上下文对象。如果随后的`damon_call`初始化失败,代码路径未处理该对象的释放,造成内存泄漏。攻击者可通过本地低权限账户反复触发启用操作,耗尽内核内存。修复此问题的复杂性在于:直接释放对象会与正在退出的`kdamond`内核线程产生竞态条件。`kdamond`可能仍在访问该对象,导致释放后使用。官方补丁通过在后续调用中检查线程终止状态,并在确保安全后延迟释放内存来解决这个问题。