Description (CNA)
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".
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 8f52de0077ba3bf41e5d53d67a185700f41efce7 before 7f040243c74d72b45b22246c7d9e621fbeab44ac; affected 8f52de0077ba3bf41e5d53d67a185700f41efce7 before 551b5c71ee312ca7646ddb605231c1016e8cbb18; affected 8f52de0077ba3bf41e5d53d67a185700f41efce7 before 0969ea8370bad0e4fb6131b6a7bed9e7ec522ac7; affected 8f52de0077ba3bf41e5d53d67a185700f41efce7 before ccde2ac757c713535b224233a296de40efe5212d |
| Linux / Linux | affected 6.12; unaffected 0 before 6.12; unaffected 6.12.92 through 6.12.*; unaffected 6.18.34 through 6.18.*; unaffected 7.0.11 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.