Linux Distros 未修补的漏洞:CVE-2026-89675

critical Nessus 插件 ID 345027

简介

Linux/Unix 主机上安装的一个或多个程序包存在漏洞,但供应商表示不会修补此漏洞。

描述

Linux/Unix 主机中安装的一个或多个程序包受到一个漏洞影响,而供应商没有提供补丁程序。

- nfsd:修复异步副本取消和关闭中的 UAF 当拆卸调用程序(OFFLOAD_CANCEL、nfsd4_shutdown_copy nfsd4_cancel_copy_by_sb)对复制进行争用时,可释放异步副本或在释放后使用 kthread: - find_async_copy() 升级了 copy->refcount,但保留了 clp->async_copies 上的副本,因此 reaper 的 cleanup_async_copy() 可与取消/关闭调用程序并发运行 release_copy_files()。put 和 NULL nf_src/nf_dst无通用锁定,双重放置 nfsd_file并提早释放。- nfsd4_do_async_copy() 在最终使用副本之前设置 NFSD4_COPY_F_STOPPED(copy->nf_dst 上的 nfsd_update_cmtime_attr(),nfsd4_send_cb_offload())。nfsd4_stop_copy() 将设置的 STOPPED 位视为 kthread 完成,跳过 kthread_stop(),因此拆卸调用程序在 kthread 仍在取消引用它时运行 release_copy_files() -- 这会nf_dst置 NULL (NULL/UAF)。- 从未固定 copy->copy_task。一次性 kthread 在返回时会自我收获,因此 kthread_stop() 的 get_task_struct() 可接触释放的task_struct。- co_cb嵌入在副本中,但 nfsd4_send_cb_offload() 仅在客户端上保留引用,因此并发拆卸可在 CB_OFFLOAD 回调执行时释放副本。将拆卸生命周期整体修复:- find_async_copy() 取消链接 async_lock 下的副本(清除 cp_clp、list_del_init);cancel、shutdown 和 sb-cancel 路径通过 nfsd4_stop_copy() 之后的 nfs4_put_copy() 丢弃 list-membership 引用。从 cleanup_async_copy() 中放弃现在冗余的 list_del 修复。
- 由于取消链接会对死神隐藏副本,因此其 cleanup_async_copy() 无法再删除副本的s2s_cp_stateids条目;cancel/shutdown/sb-cancel 路径现在会自行调用 nfs4_free_copy_state(),cp_clp仍然有效),因此该条目不会悬摆在释放的内存上,以便 laundromat 和 manage_cpntf_state() 取消引用。- 为 kthread 提供自己的引用,在 wake_up_process() 之前的 nfsd4_copy() 中获取并在 nfsd4_do_async_copy() 结束时终止;先调用 wake_up_process(),然后再调用 list_add()。- 通过 nfsd4_copy() 中的 get_task_struct() 固定 task_struct,在 nfs4_put_copy() 中释放,这样 kthread_stop() 在退出 kthread 时都是安全的。仅在 nfsd4_stop_copy() 中设置 NFSD4_COPY_F_STOPPED,现在始终在 release_copy_files() 之前kthread_stop()s;完成情况仍通过 NFSD4_COPY_F_COMPLETED 报告,因此 nfsd4_has_active_async_copies() 不受影响。每个拆卸调用程序首先从 clp->async_copies 中删除副本,因此 kthread_stop() 只运行一次。- 在 nfsd4_send_cb_offload() 中获取复制引用,在 nfsd4_cb_offload_release() 中丢弃。kthread 仍然保留自己的引用,因此 refcount_inc() 不能争用最终释放。- 通过 smp_load_acquire() 读取cp_clp以与无序的 set_bit)/clear_bit() 写入器配对 (Documentation/atomic_bitops.rst)。(CVE-2026-89675)

请注意,Nessus 依赖供应商报告的程序包是否存在进行判断。

解决方案

目前尚未有任何已知的解决方案。

另见

https://security-tracker.debian.org/tracker/CVE-2026-89675

插件详情

严重性: Critical

ID: 345027

文件名: unpatched_CVE_2026_89675.nasl

版本: 1.2

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/9/12

最近更新时间: 2026/9/14

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Medium

分数: 4.9

百分位: 58.19

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.5

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2026-89675

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:U/RL:U/RC:C

漏洞信息

CPE: cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:14.0, p-cpe:/a:debian:debian_linux:linux

必需的 KB 项: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

易利用性: No known exploits are available

漏洞发布日期: 2026/9/11

参考资料信息

CVE: CVE-2026-89675