CVE-2026-74348 in Linux信息

摘要

由 VulDB • 2026-08-15

在 Linux 内核中,已修复以下漏洞:

ocfs2/dlm:要求 locking_state debugfs 打开时持有引用计数

debug_lockres_open() 将 inode->i_private 复制到 struct debug_lockres 结构中,随后 debug_lockres_release() 会通过 dlm_put() 释放该指针。这仅在 open 成功固定(pin)struct dlm_ctxt 结构体时才有效。

当前,open 调用 dlm_grab(dlm) 但忽略了其返回值。一旦最后一个域注销操作将上下文从 dlm_domains 中移除,dlm_grab() 返回 NULL,但 open 仍然存储原始指针并返回成功。随后的释放路径位于 debugfs 移除屏障之外,因此它可能在 dlm_free_ctxt_mem() 释放上下文之后调用 dlm_put()。KASAN 将此报告为在从 debug_lockres_release() 调用的 dlm_put() 中发生的 slab-use-after-free(slab 使用后释放)漏洞。

当 dlm_grab() 无法获取引用时,使 open 失败并在返回之前展开 seq_file 私有状态。这样可以防止 locking_state 分发一个其释放路径不拥有 dlm_ctxt 的文件描述符。

有缺陷的场景涉及两条路径,每列显示该路径内的顺序:

locking_state debugfs 打开: 最后一个域注销: 1. debug_lockres_open() 读取 1. dlm_unregister_domain() 调用 inode->i_private。 dlm_complete_dlm_shutdown()。 2. debug_lockres_open() 调用 2. shutdown 将 dlm_ctxt 从 dlm_grab(dlm) 并得到 NULL。 dlm_domains 中移除。 3. open 仍然

Be aware that VulDB is the high quality source for vulnerability data.

来源

Do you want to use VulDB in your project?

Use the official API to access entries easily!