Description
In the Linux kernel, the following vulnerability has been resolved: selinux: preserve NATIVE_LABELS on already-initialized sb in set_mnt_opts When an NFSv4 filesystem exported with security_label is mounted a second time, sget_fc() returns the existing superblock and nfs_get_root() calls security_sb_set_mnt_opts() again on it. Since the superblock is already SB_INITIALIZED, selinux_set_mnt_opts() takes an early exit without setting SECURITY_LSM_NATIVE_LABELS in *set_kern_flags. nfs_get_root() then sees kflags without SECURITY_LSM_NATIVE_LABELS set and clears NFS_CAP_SECURITY_LABEL on the shared nfs_server, silently disabling per-file labeling for both the new and the original mount. Commit 3815a245b501 ("security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock") fixed the same problem in selinux_sb_clone_mnt_opts(). The reused-superblock path for a plain second mount now goes through sb_set_mnt_opts rather than sb_clone_mnt_opts, so it needs the same treatment: on both SE_SBINITIALIZED early exits, set SECURITY_LSM_NATIVE_LABELS in *set_kern_flags when the superblock was already using SECURITY_FS_USE_NATVE.
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
eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864 to < a545def625860d4ccedc14fe45e884a62a041cefaffectedeb9ae686507bc5a5ca78e6b3fbe629cd5cc67864 to < a6da93c625b3557dd23ff6db45d2d1bafeae1565affectedeb9ae686507bc5a5ca78e6b3fbe629cd5cc67864 to < 5509d498e1b9edafebd5a60ba3cb9ecfda23dc2baffectedeb9ae686507bc5a5ca78e6b3fbe629cd5cc67864 to < c997832414f1d846de0a1fa38d7d4f62ba2ea917affectedeb9ae686507bc5a5ca78e6b3fbe629cd5cc67864 to < 28b7260548af3d35773477993ad4e4de41578dd7affected
Linux Linux
Default version status: affected
3.11affected0 to < 3.11unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.11 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a545def625860d4ccedc14fe45e884a62a041cef ↗
- https://git.kernel.org/stable/c/a6da93c625b3557dd23ff6db45d2d1bafeae1565 ↗
- https://git.kernel.org/stable/c/5509d498e1b9edafebd5a60ba3cb9ecfda23dc2b ↗
- https://git.kernel.org/stable/c/c997832414f1d846de0a1fa38d7d4f62ba2ea917 ↗
- https://git.kernel.org/stable/c/28b7260548af3d35773477993ad4e4de41578dd7 ↗