CVE-2026-64059: netfs: Fix folio->private handling in netfs_perform_write()
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026071910-CVE-2026-64059-9d95@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: netfs: Fix folio->private handling in netfs_perform_write() Under some circumstances, netfs_perform_write() doesn't correctly manipulate folio->private between NULL, NETFS_FOLIO_COPY_TO_CACHE, pointing to a group and pointing to a netfs_folio struct, leading to potential multiple attachments of private data with associated folio ref leaks and also leaks of netfs_folio structs or netfs_group refs. Fix this by consolidating the place at which a folio is marked uptodate in one place and having that look at what's attached to folio->private and decide how to clean it up and then set the new group. Also, the content shouldn't be flushed if group is NULL, even if a group is specified in the netfs_group parameter, as that would be the case for a new folio. A filesystem should always specify netfs_group or never specify netfs_group. The Sashiko auto-review tool noted that it was theoretically possible that the fpos >= ctx->zero_point section might leak if it modified a streaming write folio. This is unlikely, but with a network filesystem, third party changes can happen. It also pointed out that __netfs_set_group() would leak if called multiple times on the same folio from the "whole folio modify section". The Linux kernel CVE team has assigned CVE-2026-64059 to this issue. Affected and fixed versions =========================== Issue introduced in 6.12 with commit 8f52de0077ba3bf41e5d53d67a185700f41efce7 and fixed in 6.12.92 with commit 7f040243c74d72b45b22246c7d9e621fbeab44ac Issue introduced in 6.12 with commit 8f52de0077ba3bf41e5d53d67a185700f41efce7 and fixed in 6.18.34 with commit 551b5c71ee312ca7646ddb605231c1016e8cbb18 Issue introduced in 6.12 with commit 8f52de0077ba3bf41e5d53d67a185700f41efce7 and fixed in 7.0.11 with commit 0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7 Issue introduced in 6.12 with commit 8f52de0077ba3bf41e5d53d67a185700f41efce7 and fixed in 7.1 with commit ccde2ac757c713535b224233a296de40efe5212d Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64059 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: fs/netfs/buffered_write.c include/trace/events/netfs.h Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/7f040243c74d72b45b22246c7d9e621fbeab44ac https://git.kernel.org/stable/c/551b5c71ee312ca7646ddb605231c1016e8cbb18 https://git.kernel.org/stable/c/0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7 https://git.kernel.org/stable/c/ccde2ac757c713535b224233a296de40efe5212d