CVE-2026-99052
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-99052",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-23T13:17:28.747",
"lastModified": "2026-10-30T13:21:41.817",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nselinux: preserve NATIVE_LABELS on already-initialized sb in set_mnt_opts\n\nWhen an NFSv4 filesystem exported with security_label is mounted a\nsecond time, sget_fc() returns the existing superblock and\nnfs_get_root() calls security_sb_set_mnt_opts() again on it. Since the\nsuperblock is already SB_INITIALIZED, selinux_set_mnt_opts() takes an\nearly exit without setting SECURITY_LSM_NATIVE_LABELS in\n*set_kern_flags. nfs_get_root() then sees kflags without\nSECURITY_LSM_NATIVE_LABELS set and clears NFS_CAP_SECURITY_LABEL on\nthe shared nfs_server, silently disabling per-file labeling for both\nthe new and the original mount.\n\nCommit 3815a245b501 (\"security/selinux: fix SECURITY_LSM_NATIVE_LABELS\non reused superblock\") fixed the same problem in\nselinux_sb_clone_mnt_opts(). The reused-superblock path for a plain\nsecond mount now goes through sb_set_mnt_opts rather than\nsb_clone_mnt_opts, so it needs the same treatment: on both\nSE_SBINITIALIZED early exits, set SECURITY_LSM_NATIVE_LABELS in\n*set_kern_flags when the superblock was already using\nSECURITY_FS_USE_NATVE."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"security/selinux/hooks.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "22987d24a159ed7df3cdc9090ca5d61e58df0cac",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "2f0f1f5a3b89c1ed67e39be49d29ee7f5c96e039",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "dc579e43b13cb65e55eabaae4f1a950e43567fb1",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "a545def625860d4ccedc14fe45e884a62a041cef",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "a6da93c625b3557dd23ff6db45d2d1bafeae1565",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "5509d498e1b9edafebd5a60ba3cb9ecfda23dc2b",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "c997832414f1d846de0a1fa38d7d4f62ba2ea917",
"versionType": "git",
"status": "affected"
},
{
"version": "eb9ae686507bc5a5ca78e6b3fbe629cd5cc67864",
"lessThan": "28b7260548af3d35773477993ad4e4de41578dd7",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"security/selinux/hooks.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.11",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.11",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.273",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.224",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.113",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.57",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.11",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/22987d24a159ed7df3cdc9090ca5d61e58df0cac",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/28b7260548af3d35773477993ad4e4de41578dd7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/2f0f1f5a3b89c1ed67e39be49d29ee7f5c96e039",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/5509d498e1b9edafebd5a60ba3cb9ecfda23dc2b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a545def625860d4ccedc14fe45e884a62a041cef",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a6da93c625b3557dd23ff6db45d2d1bafeae1565",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c997832414f1d846de0a1fa38d7d4f62ba2ea917",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/dc579e43b13cb65e55eabaae4f1a950e43567fb1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}