CVE-2026-89675

nfsd: fix UAF in async copy cancel and shutdown

CVE-2026-89675 is fixed in 95 products on 1 platform, first by DEBIAN-CVE-2026-89675, released September 23, 2026. It is not reported as exploited. Patch Radar priority: Urgent.

Urgent
CVSS
9.8
Critical
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0044
38th percentile

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).

Where it's fixed

ProductFixed inFixReleased
Linux
bpftool6.18 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
bpftool6.18-debuginfo · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel · RHEL 10 6.12.0-211.64.1.el10_2 RHSA-2026:77690 Oct 8, 2026
kernel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel · rocky 10 0:6.12.0-211.64.1.el10_2 RLSA-2026:77690 Nov 7, 2026
kernel-64k · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug-devel-matched · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-debug-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-devel-matched · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-64k-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-abi-stablelists · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-abi-stablelists · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-core · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-cross-headers · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-cross-headers · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-core · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-devel · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-devel-matched · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-devel-matched · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-modules · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-modules-core · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-modules-extra · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-debug-uki-virt · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-debug-uki-virt · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-devel · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-devel-matched · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-devel-matched · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-doc · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-doc · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-headers · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-headers · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-livepatch-6.18.51-120.162 · amzn 2023 1:1.0-0.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-modules · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-modules-core · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-modules-extra · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-modules-extra-matched · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-modules-extra-matched · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-rt · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-debug · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-debug-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-debug-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-debug-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-debug-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-debug-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-64k-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-debug · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-debug-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-debug-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-debug-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-debug-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-debug-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-rt-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-tools · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-tools · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-tools-libs · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-tools-libs · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-tools-libs-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-tools-libs-devel · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-uki-virt · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-uki-virt · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-uki-virt-addons · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-uki-virt-addons · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
kernel-zfcpdump · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-zfcpdump-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-zfcpdump-devel · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-zfcpdump-devel-matched · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-zfcpdump-modules · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-zfcpdump-modules-core · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel-zfcpdump-modules-extra · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
kernel6.18 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-debuginfo · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-debuginfo-common-aarch64 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-debuginfo-common-x86_64 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-devel · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-headers · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-modules-extra · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-modules-extra-common · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-tools · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-tools-debuginfo · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
kernel6.18-tools-devel · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
libperf · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
libperf · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
linux · Debian 14 7.2.6-1 DEBIAN-CVE-2026-89675 Sep 23, 2026
microvm-kernel6.18 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
perf · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
perf · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
perf6.18 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
perf6.18-debuginfo · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
python3-perf · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
python3-perf · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
python3-perf6.18 · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
python3-perf6.18-debuginfo · amzn 2023 1:6.18.51-120.162.amzn2023 ALAS2023-2026-3187 Nov 7, 2026
rtla · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
rtla · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026
rv · almalinux 10 6.12.0-211.64.1.el10_2 ALSA-2026:77690 Oct 7, 2026
rv · ol 10 0:6.12.0-211.64.1.el10_2 ELSA-2026-77690 Oct 8, 2026

Patch Radar data is free to use with attribution. Terms and how to credit it.

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.