目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1336

100%

CVE-2026-89675— nfsd 异步复制取消和关闭时的 UAF 漏洞

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix UAF in async copy cancel and shutdown An async copy could be freed or used after free while a teardown caller (OFFLOAD_CANCEL, nfsd4_shutdown_copy, nfsd4_cancel_copy_by_sb) raced the

AI 预测 7.5 利用难度: 困难

影响版本矩阵 8

厂商产品 版本范围状态
Linux Linux e0639dc5805a9d4faaa2c07ad98fa853b9529dd3< 9031493ef7369d5c59c4bacc96f0c85965f09a98 affected
e0639dc5805a9d4faaa2c07ad98fa853b9529dd3< a385cf5e016b748babf94cc664e43a26e17db117 affected
e0639dc5805a9d4faaa2c07ad98fa853b9529dd3< 62c0f6eaf050bb9284c1f9cac6ed1770092e6b95 affected
4.20 affected
< 4.20 unaffected
6.18.51≤ 6.18.* unaffected
7.2.4≤ 7.2.* unaffected
7.3-rc1≤ * unaffected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-89675 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
nfsd: fix UAF in async copy cancel and shutdown
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: nfsd: fix UAF in async copy cancel and shutdown An async copy could be freed or used after free while a teardown caller (OFFLOAD_CANCEL, nfsd4_shutdown_copy, nfsd4_cancel_copy_by_sb) raced the copy kthread: - find_async_copy() bumped copy->refcount but left the copy on clp->async_copies, so the reaper's cleanup_async_copy() could run release_copy_files() concurrently with a cancel/shutdown caller. Both put and NULL nf_src/nf_dst without a common lock, double-putting the nfsd_file and freeing it early. - nfsd4_do_async_copy() set NFSD4_COPY_F_STOPPED before its final uses of the copy (nfsd_update_cmtime_attr() on copy->nf_dst, nfsd4_send_cb_offload()). nfsd4_stop_copy() treats a set STOPPED bit as "kthread done, skip kthread_stop()", so a teardown caller ran release_copy_files() -- which puts and NULLs nf_dst -- while the kthread still dereferenced it (NULL/UAF). - copy->copy_task was never pinned. The one-shot kthread self-reaps on return, so kthread_stop()'s get_task_struct() could touch a freed task_struct. - co_cb is embedded in the copy, but nfsd4_send_cb_offload() held a reference only on the client, so a concurrent teardown could free the copy while the CB_OFFLOAD callback was in flight. Fix the teardown lifetime as a whole: - find_async_copy() unlinks the copy (clear cp_clp, list_del_init) under async_lock; the cancel, shutdown, and sb-cancel paths drop the list-membership reference via nfs4_put_copy() after nfsd4_stop_copy(). Drop the now-redundant list_del fixup from cleanup_async_copy(). - Because unlinking hides the copy from the reaper, its cleanup_async_copy() can no longer remove the copy's s2s_cp_stateids entry; the cancel/shutdown/sb-cancel paths now call nfs4_free_copy_state() themselves (while cp_clp is still valid) so the entry does not dangle at freed memory for the laundromat and manage_cpntf_state() to dereference. - Give the kthread its own reference, taken in nfsd4_copy() before wake_up_process() and dropped at the end of nfsd4_do_async_copy(); call wake_up_process() before list_add(). - Pin the task_struct with get_task_struct() in nfsd4_copy(), released in nfs4_put_copy(), so kthread_stop() is safe whenever the kthread exits. Set NFSD4_COPY_F_STOPPED only in nfsd4_stop_copy(), which now always kthread_stop()s before release_copy_files(); completion is still reported via NFSD4_COPY_F_COMPLETED, so nfsd4_has_active_async_copies() is unaffected. Each teardown caller removes the copy from clp->async_copies first, so kthread_stop() runs exactly once. - Take a copy reference in nfsd4_send_cb_offload(), dropped in nfsd4_cb_offload_release(). The kthread still holds its own reference there, so the refcount_inc() cannot race the final free. - Read cp_clp with smp_load_acquire() to pair with the unordered set_bit()/clear_bit() writers (Documentation/atomic_bitops.rst).
来源: CVE Program / CVE List V5
CVSS Information
N/A
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 ~ 9031493ef7369d5c59c4bacc96f0c85965f09a98 -
Linux Linux 4.20 -

二、漏洞 CVE-2026-89675 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-89675 的情报信息

登录查看更多情报信息。

CVE-2026-89675 其他参考 (3)

同批安全公告 · Linux · 2026-09-11 · 共 431 条

CVE-2026-89491 OCFS2集群心跳锁持有期间睡眠漏洞
CVE-2026-89477 Linux内核 SCTP 重配置空指针引用漏洞
CVE-2026-89478 sctp:移除的传输中丢弃数据块
CVE-2026-89479 内核SCTP模块关联删除后仍处理报文
CVE-2026-89480 NVMe-TCP 读取字节数异常拒绝漏洞
CVE-2026-89482 NVMe-TCP 数据长度误判漏洞
CVE-2026-89481 NVMe/TCP 主机内存泄露漏洞
CVE-2026-89483 Linux内核 NVMe驱动 逻辑错误
CVE-2026-89484 Linux内核lockd 空指针解引用漏洞
CVE-2026-89485 Linux lockd 锁释放时文件指针固定漏洞
CVE-2026-89486 IPMI 驱动 _ipmi_destroy_user 释放后使用漏洞
CVE-2026-89487 Open vSwitch 数据包丢弃逻辑缺陷
CVE-2026-89488 Open vSwitch CT limit 释放后使用漏洞
CVE-2026-89489 OpenRISC 内核 or1k_atomic 任意内存访问漏洞
CVE-2026-89500 ring-buffer 缓冲区读取页修复
CVE-2026-89497 Orangefs 调试掩码解析空格处理缺陷
CVE-2026-89498 Orangefs 双重释放漏洞
CVE-2026-89499 ring-buffer 页面交换失败时停止远程读取
CVE-2026-89496 ocfs2文件系统COW完成处理缺陷
CVE-2026-89501 ring-buffer 子缓冲区调整时未持锁漏洞

显示前 20 条,共 431 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-89675

暂无评论


发表评论