CVE-2026-93106 (GCVE-0-2026-93106)
Vulnerability from cvelistv5
Published
2026-09-17 16:11
Modified
2026-10-19 09:05
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: crash_dump: release keyring reference at the correct time restore_dm_crypt_keys_to_thread_keyring() gets a reference to the user keyring before restoring the saved dm-crypt keys. The same keyring reference is then passed to add_key_to_keyring() for each saved key, but add_key_to_keyring() drops that reference on every call. This is only balanced when exactly one key is restored. With multiple keys, the keyring reference is dropped too many times and may trigger a refcount underflow or use-after-free. When more than five keys are restored, a refcount underflow/use-after-free warning can be triggered. The early error paths after lookup_user_key() also return without dropping the keyring reference. Keep ownership of the keyring reference in restore_dm_crypt_keys_to_thread_keyring(), drop it once on all exit paths, and make add_key_to_keyring() only use the reference without consuming it.
Impacted products
Vendor Product Version
Linux Linux Version: 62f17d9df6924cf805de5ae970470615c1c8d9f2
Version: 62f17d9df6924cf805de5ae970470615c1c8d9f2
Version: 62f17d9df6924cf805de5ae970470615c1c8d9f2
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/crash_dump_dm_crypt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b0f7343a002f9c8b8378011f60482c76f3216dfd",
              "status": "affected",
              "version": "62f17d9df6924cf805de5ae970470615c1c8d9f2",
              "versionType": "git"
            },
            {
              "lessThan": "ed566979f99c5516cad45a76ae25e2a4928ffb67",
              "status": "affected",
              "version": "62f17d9df6924cf805de5ae970470615c1c8d9f2",
              "versionType": "git"
            },
            {
              "lessThan": "ada2e5a44e99113e08ad9b7b71396c6c572204da",
              "status": "affected",
              "version": "62f17d9df6924cf805de5ae970470615c1c8d9f2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/crash_dump_dm_crypt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.16"
            },
            {
              "lessThan": "6.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncrash_dump: release keyring reference at the correct time\n\nrestore_dm_crypt_keys_to_thread_keyring() gets a reference to the user\nkeyring before restoring the saved dm-crypt keys.\n\nThe same keyring reference is then passed to add_key_to_keyring() for each\nsaved key, but add_key_to_keyring() drops that reference on every call.\nThis is only balanced when exactly one key is restored. With multiple\nkeys, the keyring reference is dropped too many times and may trigger a\nrefcount underflow or use-after-free.\n\nWhen more than five keys are restored, a refcount underflow/use-after-free\nwarning can be triggered.\n\nThe early error paths after lookup_user_key() also return without dropping\nthe keyring reference.\n\nKeep ownership of the keyring reference in\nrestore_dm_crypt_keys_to_thread_keyring(), drop it once on all exit paths,\nand make add_key_to_keyring() only use the reference without consuming it."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:05:39.034Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b0f7343a002f9c8b8378011f60482c76f3216dfd"
        },
        {
          "url": "https://git.kernel.org/stable/c/ed566979f99c5516cad45a76ae25e2a4928ffb67"
        },
        {
          "url": "https://git.kernel.org/stable/c/ada2e5a44e99113e08ad9b7b71396c6c572204da"
        }
      ],
      "title": "crash_dump: release keyring reference at the correct time",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-93106",
    "datePublished": "2026-09-17T16:11:17.136Z",
    "dateReserved": "2026-09-17T16:02:15.085Z",
    "dateUpdated": "2026-10-19T09:05:39.034Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…