Linux: smb: client: honor forceuid/forcegid when mapping SIDs to uid/gid
What fixes it
- 6ac7a29691558bed18e2df1780636b8aa0fd13d5LinuxCVE List
- 18a72975e9f35aadecc75b031f693f2d1f49308fLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
smb: client: honor forceuid/forcegid when mapping SIDs to uid/gid
When the administrator mounts with forceuid or forcegid (uid=/gid= mount options), they expect all files to appear owned by the specified user/group. However, several code paths unconditionally called sid_to_id() to overwrite cf_uid/cf_gid with server-provided values, ignoring the administrator's explicit override:
- smb311_posix_info_to_fattr() (stat via POSIX extensions)
- cifs_posix_to_fattr() (readdir via POSIX extensions)
- parse_sec_desc() (CIFS ACL ownership mapping)
This allowed an untrusted server to dictate local file ownership even when the mount was configured to force specific uid/gid values.
Fix all three call sites to check CIFS_MOUNT_OVERR_UID and CIFS_MOUNT_OVERR_GID before calling sid_to_id(), following the same pattern already used by cifs_unix_basic_to_fattr() for unix extensions.
Text from CVE List
Affected versions 12
- Linuxaffected: 9409ae58e0759d010b347e7b19ebc90ab5d4b98f before be6eccccec867c22d7c65fab4ea4e91ec3d5b8c6CVE List
- Linuxaffected: 9409ae58e0759d010b347e7b19ebc90ab5d4b98f before bc35de451c128d399ad185d6269f8847e97cd1c9CVE List
- Linuxaffected: 9409ae58e0759d010b347e7b19ebc90ab5d4b98f before 6ac7a29691558bed18e2df1780636b8aa0fd13d5CVE List
- Linuxaffected: 9409ae58e0759d010b347e7b19ebc90ab5d4b98f before e1b74f8f8c1d13190b09fe623b729d36b7ac22a8CVE List
- Linuxaffected: 9409ae58e0759d010b347e7b19ebc90ab5d4b98f before 18a72975e9f35aadecc75b031f693f2d1f49308fCVE List
- Linuxaffected: 3.0CVE List
- Linuxunaffected: all versions before 3.0CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.114 through 6.12.*CVE List
- Linuxunaffected: 6.18.57 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/be6eccccec867c22d7c65fab4ea4e91ec3d5b8c6Referencevia CVE List
- git.kernel.org/stable/c/bc35de451c128d399ad185d6269f8847e97cd1c9Referencevia CVE List
- git.kernel.org/stable/c/6ac7a29691558bed18e2df1780636b8aa0fd13d5Referencevia CVE List
- git.kernel.org/stable/c/e1b74f8f8c1d13190b09fe623b729d36b7ac22a8Referencevia CVE List
- git.kernel.org/stable/c/18a72975e9f35aadecc75b031f693f2d1f49308fReferencevia CVE List