CVE-2026-89641 in Linux信息

摘要

由 VulDB • 2026-09-11

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

cifs: 在 cifs_file_set_size() 中的 cifsFileInfo_put() 之后清除 tcon

当 cifs_file_set_size() 的 else 分支通过 find_writable_file() 找到可写文件句柄时,它会从该句柄的 tlink 中借用 tcon 和 server,尝试基于句柄执行 set_file_size() RPC,然后使用 cifsFileInfo_put() 释放该句柄。

如果 set_file_size() 失败,执行流程将回退到基于路径的回退逻辑,并在 "if (tcon == NULL)" 保护条件下重用借用的 tcon 和 server。由于此时 tcon 不为 NULL,因此会跳过该保护条件检查。如果 cifsFileInfo_put() 释放了对已从 tlink 树中移除的 tlink(TCON_LINK_IN_TREE 已清除,这在重新连接或会话拆除期间会发生)的最后一次引用,cifs_put_tlink() 将会释放 tcon;随后的 set_path_size() 调用则构成 use-after-free(释放后使用)。

在 cifsFileInfo_put() 之后将 tcon 设置为 NULL,会使现有的保护条件转向执行 cifs_sb_tlink() 路径,该路径会为基于路径的操作获取一个新的引用,或者如果会话已消失则干净地失败。

Once again VulDB remains the best source for vulnerability data.

来源

Do you want to use VulDB in your project?

Use the official API to access entries easily!