Description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: add permission checks for FSCTL_DUPLICATE_EXTENTS_TO_FILE The FSCTL_DUPLICATE_EXTENTS_TO_FILE arm of smb2_ioctl() overwrites the destination file's data via vfs_clone_file_range() with neither the share-level KSMBD_TREE_CONN_FLAG_WRITABLE check nor a per-handle fp->daccess check that the other write-bearing arms carry. A client can overwrite destination data on a read-only share, or from a handle opened with only FILE_WRITE_ATTRIBUTES (which still yields an FMODE_WRITE filp). FILE_WRITE_ATTRIBUTES-only destination handle overwrote the file's data via the clone. Add both checks, matching the FSCTL_SET_SPARSE permission fix; require FILE_WRITE_DATA since this writes data.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
eb817368f50c1cbe1bd07044124aad7db6330e3a to < bf460ad5958d506492de4524a656439da3f99c51affectedeb817368f50c1cbe1bd07044124aad7db6330e3a to < 620d133d469295ee7c017ca6aafac335f65c4a5aaffectedeb817368f50c1cbe1bd07044124aad7db6330e3a to < 9b9cf7e65cbeaae1b6636144bacee611cdd7a5d6affectedeb817368f50c1cbe1bd07044124aad7db6330e3a to < baae7b39673ec21073a25e3d14f8feaada01d5dfaffectedeb817368f50c1cbe1bd07044124aad7db6330e3a to < c917e4522d251071dde9871b9142d8ea1186ebfeaffectedeb817368f50c1cbe1bd07044124aad7db6330e3a to < 388e4139db27a9e3612c9d356b826f5b1ff6a9e3affected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/bf460ad5958d506492de4524a656439da3f99c51 ↗
- https://git.kernel.org/stable/c/620d133d469295ee7c017ca6aafac335f65c4a5a ↗
- https://git.kernel.org/stable/c/9b9cf7e65cbeaae1b6636144bacee611cdd7a5d6 ↗
- https://git.kernel.org/stable/c/baae7b39673ec21073a25e3d14f8feaada01d5df ↗
- https://git.kernel.org/stable/c/c917e4522d251071dde9871b9142d8ea1186ebfe ↗
- https://git.kernel.org/stable/c/388e4139db27a9e3612c9d356b826f5b1ff6a9e3 ↗