{"id":"CVE-2026-80924","state":"PUBLISHED","title":"crypto: krb5 - use kfree_sensitive() for derived key buffers","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: krb5 - use kfree_sensitive() for derived key buffers\n\ncrypto_krb5_prepare_encryption() and crypto_krb5_prepare_checksum()\nfree the buffer holding the freshly derived keys with plain kfree(),\nleaving the key material behind in the freed slab object.","publishedAt":"2026-09-09T16:19:44.150Z","updatedAt":"2026-10-19T08:45:08.269Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"731a5b6fb4c1705f9405d9029dd64ea81e336207","versionType":"git"},{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"91b96dc9cc250cd16751f53de525cf3442ca0962","versionType":"git"},{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"a1bf79365794783b19f5b09e8a23f7ee311e8931","versionType":"git"},{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"f7d53dd3f267e46a784f219a75072f2f400d42b9","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["crypto/krb5/krb5_api.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.15","versionType":"semver"},{"version":"6.18.49","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.13","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2.3","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["crypto/krb5/krb5_api.c"]}],"references":["https://git.kernel.org/stable/c/731a5b6fb4c1705f9405d9029dd64ea81e336207","https://git.kernel.org/stable/c/91b96dc9cc250cd16751f53de525cf3442ca0962","https://git.kernel.org/stable/c/a1bf79365794783b19f5b09e8a23f7ee311e8931","https://git.kernel.org/stable/c/f7d53dd3f267e46a784f219a75072f2f400d42b9"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80924.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80924","state":"PUBLISHED","datePublished":"2026-09-09T16:19:44.150Z","dateUpdated":"2026-10-19T08:45:08.269Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-26T14:34:25.802Z"},"containers":{"cna":{"title":"crypto: krb5 - use kfree_sensitive() for derived key buffers","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: krb5 - use kfree_sensitive() for derived key buffers\n\ncrypto_krb5_prepare_encryption() and crypto_krb5_prepare_checksum()\nfree the buffer holding the freshly derived keys with plain kfree(),\nleaving the key material behind in the freed slab object."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"731a5b6fb4c1705f9405d9029dd64ea81e336207","versionType":"git"},{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"91b96dc9cc250cd16751f53de525cf3442ca0962","versionType":"git"},{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"a1bf79365794783b19f5b09e8a23f7ee311e8931","versionType":"git"},{"version":"3936f02bf2d3308a7359dd37dd96cd60603d8170","status":"affected","lessThan":"f7d53dd3f267e46a784f219a75072f2f400d42b9","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["crypto/krb5/krb5_api.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.15","versionType":"semver"},{"version":"6.18.49","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.13","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2.3","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["crypto/krb5/krb5_api.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/731a5b6fb4c1705f9405d9029dd64ea81e336207"},{"url":"https://git.kernel.org/stable/c/91b96dc9cc250cd16751f53de525cf3442ca0962"},{"url":"https://git.kernel.org/stable/c/a1bf79365794783b19f5b09e8a23f7ee311e8931"},{"url":"https://git.kernel.org/stable/c/f7d53dd3f267e46a784f219a75072f2f400d42b9"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":7.5,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - crypto_krb5_prepare_encryption() and crypto_krb5_prepare_checksum() run from nfsd RPCSEC_GSS on TCP/2049, from in-kernel RxGK handshake processing of remote RESPONSE packets (rxgk_extract_token/rxgk_set_up_token_cipher), and from Ceph/AFS network-filesystem security, so a remote peer can cause derived Kerberos keys to be left in freed slab.\nAC:L - Each prepare path derives Ke/Ki/Kc into a kmalloc buffer then frees it with plain kfree(); the leftover is deterministic on every GSS/RxGK/Ceph context setup, with no race or attacker-uncontrollable memory layout required to leave the keys in the slab.\nPR:N - RxGK token-cipher setup runs while decrypting the authentication token, before the token or authenticator is verified, and nfsd RPCSEC_GSS INIT is the authentication handshake; a network peer needs no local Linux account or capability to drive these pre-auth paths.\nUI:N - A Kerberos NFS server or RxRPC/AFS endpoint automatically processes incoming GSS/RxGK handshake packets; no victim mount, click, or other interactive action is required at exploit time.\nS:U - Leftover keys remain in host-kernel slab; this is ordinary kernel information disclosure within the same security authority, not a VM escape, IOMMU bypass, or sandbox breakout.\nC:H - The freed buffers hold complete derived Kerberos encryption and integrity keys (Ke/Ki/Kc, up to 32-byte AES-256 material). Recovering them from reused slab yields full session-key disclosure for NFS, AFS, Ceph, or RxGK traffic.\nI:N - The bug only fails to wipe key material before kfree(); it does not corrupt kernel memory, provide a write primitive, or hijack control flow.\nA:N - Replacing kfree() with kfree_sensitive() does not affect control flow; the plain kfree() path does not oops, deadlock, leak allocator objects, or otherwise impact availability."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:45:08.269Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"6.18.49"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"7.1.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"7.2.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}