← Back to CVE Explorer

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.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-23 13:17:28.747000
Last modified
2026-10-30 13:21:41.817000
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"
    }
  ]
}