FKIE_CVE-2026-98775

Vulnerability from fkie_nvd - Published: 2026-10-18 16:17 - Updated: 2026-10-30 13:21
Severity
Summary
In the Linux kernel, the following vulnerability has been resolved: nitro_enclaves: fix use-after-free on SLOT_ALLOC failure When ne_create_vm_ioctl() fails the SLOT_ALLOC request after anon_inode_getfile() has succeeded, the error path calls fput(enclave_file) and then frees ne_enclave. In normal userspace context, fput() defers the final __fput() via task_work. ne_enclave_release() therefore runs after ne_enclave has already been freed and dereferences ne_enclave->slot_uid, causing a use-after-free: KASAN: slab-use-after-free in ne_enclave_release. The enclave has no slot allocated and is not yet linked into the enclaves list on this error path, so ne_enclave_release() is expected to return early when slot_uid is zero. However, reading slot_uid already accesses the freed object. Clear enclave_file->private_data before fput() on the error path. ne_enclave_release() then returns immediately when private_data is NULL, leaving the ioctl error path as the sole owner of ne_enclave. This is safe because the file has not been fd_install()'d yet. Tested on an AWS EC2 m5.2xlarge with CONFIG_KASAN=y. Without the patch, the reproducer triggers a KASAN slab-use-after-free on every SLOT_ALLOC failure. With the patch, no KASAN report is produced and the SLOT_ALLOC error is still returned. Normal enclave creation and teardown are unaffected.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/virt/nitro_enclaves/ne_misc_dev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "718965a5fcea47f7ec6accff55306317aadc3af3",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "dac89ed976d9826eae4703281d0d51b062b58eef",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "8024c50b8763add7912b6d9830327ba73f994204",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "8bde6f643ab6fe5e3e3f4c312f84ce327ecf39b2",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "466041d14f26dc2babd606a2e85dce08774112a6",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "f7fb6c2835ede1b8ad84cf7e78a528a9d0159b84",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "43f78b328f3907ca2f7424e15b7e45ffbf9fe21c",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            },
            {
              "lessThan": "9bc184a2eda8b773c88ecbff934001ad649b9cc1",
              "status": "affected",
              "version": "9c8eb50fe9e2bb8a2e725979e052fbf592b6b799",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/virt/nitro_enclaves/ne_misc_dev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.10"
            },
            {
              "lessThan": "5.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.273",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.224",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.191",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.160",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.56",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "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\nnitro_enclaves: fix use-after-free on SLOT_ALLOC failure\n\nWhen ne_create_vm_ioctl() fails the SLOT_ALLOC request after\nanon_inode_getfile() has succeeded, the error path calls\nfput(enclave_file) and then frees ne_enclave.\n\nIn normal userspace context, fput() defers the final __fput() via\ntask_work. ne_enclave_release() therefore runs after ne_enclave has\nalready been freed and dereferences ne_enclave-\u003eslot_uid, causing a\nuse-after-free: KASAN: slab-use-after-free in ne_enclave_release.\n\nThe enclave has no slot allocated and is not yet linked into the\nenclaves list on this error path, so ne_enclave_release() is expected\nto return early when slot_uid is zero. However, reading slot_uid\nalready accesses the freed object.\n\nClear enclave_file-\u003eprivate_data before fput() on the error path.\nne_enclave_release() then returns immediately when private_data is\nNULL, leaving the ioctl error path as the sole owner of ne_enclave.\nThis is safe because the file has not been fd_install()\u0027d yet.\n\nTested on an AWS EC2 m5.2xlarge with CONFIG_KASAN=y. Without the\npatch, the reproducer triggers a KASAN slab-use-after-free on every\nSLOT_ALLOC failure. With the patch, no KASAN report is produced and\nthe SLOT_ALLOC error is still returned. Normal enclave creation and\nteardown are unaffected."
    }
  ],
  "id": "CVE-2026-98775",
  "lastModified": "2026-10-30T13:21:27.140",
  "metrics": {},
  "published": "2026-10-18T16:17:31.437",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/43f78b328f3907ca2f7424e15b7e45ffbf9fe21c"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/466041d14f26dc2babd606a2e85dce08774112a6"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/718965a5fcea47f7ec6accff55306317aadc3af3"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/8024c50b8763add7912b6d9830327ba73f994204"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/8bde6f643ab6fe5e3e3f4c312f84ce327ecf39b2"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/9bc184a2eda8b773c88ecbff934001ad649b9cc1"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/dac89ed976d9826eae4703281d0d51b062b58eef"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/f7fb6c2835ede1b8ad84cf7e78a528a9d0159b84"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Received"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

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.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    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.