CVE-2026-98215 (GCVE-0-2026-98215)

Vulnerability from cvelistv5 – Published: 2026-10-06 08:44 – Updated: 2026-10-06 08:44
VLAI
Title
selinux: preserve user SID across nested backing files
Summary
In the Linux kernel, the following vulnerability has been resolved: selinux: preserve user SID across nested backing files SELinux saves the user file SID in a backing-file security blob so it remains available after mmap() replaces vma->vm_file with a backing file. For nested backing files (overlayfs over overlayfs, or FUSE passthrough backed by overlayfs), user_file may itself be a backing file. Its fsec->sid is the SID of the mounter that opened it, rather than the user that opened the top-level file. mprotect() then checks fd { use } against the mounter SID. This can incorrectly deny access without a domain transition, or check the wrong target SID after one. Copy the saved user SID when user_file is a backing file. Keep using the regular file SID for the first backing layer. With two nested overlayfs mounts and SELinux enforcing, mprotect(PROT_READ) returns EACCES with an fd { use } denial against the mounter SID. With this change, mprotect() succeeds. Tested on arm64 QEMU with a small BusyBox initramfs and a purpose-built SELinux policy. The original test was also repeated with Fedora Cloud Base 44 userspace and gave the same result.
Severity
No CVSS data available.
Assigner
Linux CNA under the mitre root
CNA scorecard D 54/100 over 6633 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: bc6c380c1159de52a252ed11f19a42c47f60a735 , < caa1b913d90d5dc07073733326d2af0f0288f089 (git)
Affected: 8bacd09f12c27710228562e4d13163e58c5f4a45 , < 6aaeec59aadcd1eafc18b049f1b759fb6b9d9569 (git)
Affected: d844702198395d3f80222777030f69db6be6b709 , < 9d99b770e7b67b00bdef9005b928aad13e1d679b (git)
Affected: 82544d36b1729153c8aeb179e84750f0c085d3b1 , < ff20d16b2e8230c034e21540043df47222dcc09b (git)
Affected: 82544d36b1729153c8aeb179e84750f0c085d3b1 , < 8c0c602202b9a4909b00bc3354e3c0355bc69e65 (git)
Affected: cd0e707a927a70cdfd8bc5a512a9719a87f5ed51 (git)
Affected: 6.6.144 , < 6.6.158 (semver)
Affected: 6.12.95 , < 6.12.112 (semver)
Affected: 6.18.38 , < 6.18.54 (semver)
Affected: 7.0.4 , < 7.1 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 7.1
Unaffected: 0 , < 7.1 (semver)
Unaffected: 6.6.158 , ≤ 6.6.* (semver)
Unaffected: 6.12.112 , ≤ 6.12.* (semver)
Unaffected: 6.18.54 , ≤ 6.18.* (semver)
Unaffected: 7.2.8 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc4 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "security/selinux/hooks.c",
            "security/selinux/include/objsec.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "caa1b913d90d5dc07073733326d2af0f0288f089",
              "status": "affected",
              "version": "bc6c380c1159de52a252ed11f19a42c47f60a735",
              "versionType": "git"
            },
            {
              "lessThan": "6aaeec59aadcd1eafc18b049f1b759fb6b9d9569",
              "status": "affected",
              "version": "8bacd09f12c27710228562e4d13163e58c5f4a45",
              "versionType": "git"
            },
            {
              "lessThan": "9d99b770e7b67b00bdef9005b928aad13e1d679b",
              "status": "affected",
              "version": "d844702198395d3f80222777030f69db6be6b709",
              "versionType": "git"
            },
            {
              "lessThan": "ff20d16b2e8230c034e21540043df47222dcc09b",
              "status": "affected",
              "version": "82544d36b1729153c8aeb179e84750f0c085d3b1",
              "versionType": "git"
            },
            {
              "lessThan": "8c0c602202b9a4909b00bc3354e3c0355bc69e65",
              "status": "affected",
              "version": "82544d36b1729153c8aeb179e84750f0c085d3b1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "cd0e707a927a70cdfd8bc5a512a9719a87f5ed51",
              "versionType": "git"
            },
            {
              "lessThan": "6.6.158",
              "status": "affected",
              "version": "6.6.144",
              "versionType": "semver"
            },
            {
              "lessThan": "6.12.112",
              "status": "affected",
              "version": "6.12.95",
              "versionType": "semver"
            },
            {
              "lessThan": "6.18.54",
              "status": "affected",
              "version": "6.18.38",
              "versionType": "semver"
            },
            {
              "lessThan": "7.1",
              "status": "affected",
              "version": "7.0.4",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "security/selinux/hooks.c",
            "security/selinux/include/objsec.h"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "lessThan": "7.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.112",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.54",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc4",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "6.6.144",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.112",
                  "versionStartIncluding": "6.12.95",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.54",
                  "versionStartIncluding": "6.18.38",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.8",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc4",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "7.0.4",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nselinux: preserve user SID across nested backing files\n\nSELinux saves the user file SID in a backing-file security blob so it\nremains available after mmap() replaces vma-\u003evm_file with a backing file.\n\nFor nested backing files (overlayfs over overlayfs, or FUSE passthrough\nbacked by overlayfs), user_file may itself be a backing file.  Its\nfsec-\u003esid is the SID of the mounter that opened it, rather than the user\nthat opened the top-level file.  mprotect() then checks fd { use } against\nthe mounter SID.  This can incorrectly deny access without a domain\ntransition, or check the wrong target SID after one.\n\nCopy the saved user SID when user_file is a backing file.  Keep using the\nregular file SID for the first backing layer.\n\nWith two nested overlayfs mounts and SELinux enforcing,\nmprotect(PROT_READ) returns EACCES with an fd { use } denial against the\nmounter SID.  With this change, mprotect() succeeds.\n\nTested on arm64 QEMU with a small BusyBox initramfs and a purpose-built\nSELinux policy.  The original test was also repeated with Fedora Cloud\nBase 44 userspace and gave the same result."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-06T08:44:51.412Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/caa1b913d90d5dc07073733326d2af0f0288f089"
        },
        {
          "url": "https://git.kernel.org/stable/c/6aaeec59aadcd1eafc18b049f1b759fb6b9d9569"
        },
        {
          "url": "https://git.kernel.org/stable/c/9d99b770e7b67b00bdef9005b928aad13e1d679b"
        },
        {
          "url": "https://git.kernel.org/stable/c/ff20d16b2e8230c034e21540043df47222dcc09b"
        },
        {
          "url": "https://git.kernel.org/stable/c/8c0c602202b9a4909b00bc3354e3c0355bc69e65"
        }
      ],
      "title": "selinux: preserve user SID across nested backing files",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98215",
    "datePublished": "2026-10-06T08:44:51.412Z",
    "dateReserved": "2026-09-25T10:25:14.326Z",
    "dateUpdated": "2026-10-06T08:44:51.412Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-98215",
      "date": "2026-10-09",
      "epss": "0.00209",
      "percentile": "0.10123"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "security/selinux/hooks.c",
                  "security/selinux/include/objsec.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "caa1b913d90d5dc07073733326d2af0f0288f089",
                    "status": "affected",
                    "version": "bc6c380c1159de52a252ed11f19a42c47f60a735",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6aaeec59aadcd1eafc18b049f1b759fb6b9d9569",
                    "status": "affected",
                    "version": "8bacd09f12c27710228562e4d13163e58c5f4a45",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "9d99b770e7b67b00bdef9005b928aad13e1d679b",
                    "status": "affected",
                    "version": "d844702198395d3f80222777030f69db6be6b709",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ff20d16b2e8230c034e21540043df47222dcc09b",
                    "status": "affected",
                    "version": "82544d36b1729153c8aeb179e84750f0c085d3b1",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8c0c602202b9a4909b00bc3354e3c0355bc69e65",
                    "status": "affected",
                    "version": "82544d36b1729153c8aeb179e84750f0c085d3b1",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "cd0e707a927a70cdfd8bc5a512a9719a87f5ed51",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.6.158",
                    "status": "affected",
                    "version": "6.6.144",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.12.112",
                    "status": "affected",
                    "version": "6.12.95",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.18.54",
                    "status": "affected",
                    "version": "6.18.38",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "affected",
                    "version": "7.0.4",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "security/selinux/hooks.c",
                  "security/selinux/include/objsec.h"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "7.1"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.158",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.112",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.54",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.8",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc4",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nselinux: preserve user SID across nested backing files\n\nSELinux saves the user file SID in a backing-file security blob so it\nremains available after mmap() replaces vma-\u003evm_file with a backing file.\n\nFor nested backing files (overlayfs over overlayfs, or FUSE passthrough\nbacked by overlayfs), user_file may itself be a backing file.  Its\nfsec-\u003esid is the SID of the mounter that opened it, rather than the user\nthat opened the top-level file.  mprotect() then checks fd { use } against\nthe mounter SID.  This can incorrectly deny access without a domain\ntransition, or check the wrong target SID after one.\n\nCopy the saved user SID when user_file is a backing file.  Keep using the\nregular file SID for the first backing layer.\n\nWith two nested overlayfs mounts and SELinux enforcing,\nmprotect(PROT_READ) returns EACCES with an fd { use } denial against the\nmounter SID.  With this change, mprotect() succeeds.\n\nTested on arm64 QEMU with a small BusyBox initramfs and a purpose-built\nSELinux policy.  The original test was also repeated with Fedora Cloud\nBase 44 userspace and gave the same result."
          }
        ],
        "id": "CVE-2026-98215",
        "lastModified": "2026-10-06T09:18:08.107",
        "metrics": {},
        "published": "2026-10-06T09:18:08.107",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6aaeec59aadcd1eafc18b049f1b759fb6b9d9569"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/8c0c602202b9a4909b00bc3354e3c0355bc69e65"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/9d99b770e7b67b00bdef9005b928aad13e1d679b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/caa1b913d90d5dc07073733326d2af0f0288f089"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ff20d16b2e8230c034e21540043df47222dcc09b"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-10-09T11:04:55+00:00",
      "cve": "CVE-2026-98215",
      "id": "CVE-2026-98215",
      "initial_release_date": "2026-10-06T00:00:00+00:00",
      "product_status:known_affected": "249",
      "product_status:known_not_affected": "28",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: selinux: preserve user SID across nested backing files",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-98215.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "low",
      "current_release_date": "2026-10-08T16:50:18Z",
      "cve": "CVE-2026-98215",
      "id": "CVE-2026-98215",
      "initial_release_date": "2026-10-08T16:50:18Z",
      "product_status:known_not_affected": "347",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-98215",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-98215.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…