{"api_version":"1","generated_at":"2026-09-21T14:28:30+00:00","cve":"CVE-2026-93106","urls":{"html":"https://cve.report/CVE-2026-93106","api":"https://cve.report/api/cve/CVE-2026-93106.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-93106","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-93106"},"summary":{"title":"crash_dump: release keyring reference at the correct time","description":"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.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-17 17:18:04","updated_at":"2026-09-17 17:18:04"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/ada2e5a44e99113e08ad9b7b71396c6c572204da","name":"https://git.kernel.org/stable/c/ada2e5a44e99113e08ad9b7b71396c6c572204da","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ed566979f99c5516cad45a76ae25e2a4928ffb67","name":"https://git.kernel.org/stable/c/ed566979f99c5516cad45a76ae25e2a4928ffb67","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b0f7343a002f9c8b8378011f60482c76f3216dfd","name":"https://git.kernel.org/stable/c/b0f7343a002f9c8b8378011f60482c76f3216dfd","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-93106","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93106","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 62f17d9df6924cf805de5ae970470615c1c8d9f2 b0f7343a002f9c8b8378011f60482c76f3216dfd git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 62f17d9df6924cf805de5ae970470615c1c8d9f2 ed566979f99c5516cad45a76ae25e2a4928ffb67 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 62f17d9df6924cf805de5ae970470615c1c8d9f2 ada2e5a44e99113e08ad9b7b71396c6c572204da git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.52 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.6 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"93106","cve":"CVE-2026-93106","epss":"0.001980000","percentile":"0.098600000","score_date":"2026-09-18","updated_at":"2026-09-19 00:06:17"},"legacy_qids":[]},"source_records":{"cve_program":{"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-rc1","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-rc1","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-09-17T16:11:17.136Z","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-09-17T16:11:17.136Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-17 17:18:04","lastModifiedDate":"2026-09-17 17:18:04","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"93106","Ordinal":"1","Title":"crash_dump: release keyring reference at the correct time","CVE":"CVE-2026-93106","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"93106","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"crash_dump: release keyring reference at the correct time"}]}}}