{"id":"CVE-2026-99220","summary":"asymmetric_keys: reject trust keys without IDs","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nasymmetric_keys: reject trust keys without IDs\n\nThe PKCS#8 parser deliberately leaves the asym_key_ids payload slot\nempty. key_or_keyring_common() unconditionally dereferences that slot\nwhen a PKCS#8 key is supplied to a key_or_keyring restriction. Both the\nplain and :chain forms reach this branch, allowing an unprivileged caller\nto trigger a NULL pointer dereference through KEYCTL_RESTRICT_KEYRING\nfollowed by add_key().\n\n Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000\n KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]\n RIP: 0010:key_or_keyring_common (crypto/asymmetric_keys/restrict.c:205 crypto/asymmetric_keys/restrict.c:279)\n Call Trace:\n  \u003cTASK\u003e\n  __key_create_or_update (security/keys/key.c:884)\n  key_create_or_update (security/keys/key.c:1021)\n  __do_sys_add_key (security/keys/keyctl.c:134)\n  do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83)\n  entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)\n  \u003c/TASK\u003e\n Kernel panic - not syncing: Fatal exception\n\nReject an asymmetric restriction key without key IDs. A PKCS#8 private\nkey cannot identify the signer of a candidate certificate and is not a\nvalid trust anchor.","modified":"2026-11-10T17:27:00.705476108Z","published":"2026-11-02T16:06:31.966Z","related":["openSUSE-SU-2026:12497-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99220.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/1aa0c7aa4c2554a5b6d74ae1924508ca4718234b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/2a40bdd4409567de4c2a141ac66439dc238af752"},{"type":"WEB","url":"https://git.kernel.org/stable/c/33a078f04e264eb71aa9f209cb334e4010123818"},{"type":"WEB","url":"https://git.kernel.org/stable/c/57e54b6939c6539d90a81c7e57531901d5991651"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7f0728ba89624e25df2bb80ff59bbfb545060935"},{"type":"WEB","url":"https://git.kernel.org/stable/c/889a2293a95f6c2880bf73b67f9b0af23251a128"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9695df3b1db4ac4534274d38ee16e3b9b0bf910e"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99220.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99220"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3c58b2362ba828ee2970c66c6a6fd7b04fde4413"},{"fixed":"889a2293a95f6c2880bf73b67f9b0af23251a128"},{"fixed":"7f0728ba89624e25df2bb80ff59bbfb545060935"},{"fixed":"2a40bdd4409567de4c2a141ac66439dc238af752"},{"fixed":"1aa0c7aa4c2554a5b6d74ae1924508ca4718234b"},{"fixed":"33a078f04e264eb71aa9f209cb334e4010123818"},{"fixed":"57e54b6939c6539d90a81c7e57531901d5991651"},{"fixed":"9695df3b1db4ac4534274d38ee16e3b9b0bf910e"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-99220.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.20.0"},{"fixed":"6.1.191"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.161"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.115"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.60"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.14"}]},{"type":"ECOSYSTEM","events":[{"introduced":"7.3.0"},{"fixed":"7.3.1"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-99220.json"}}],"schema_version":"1.9.2"}