
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-89763 is a use-after-free vulnerability in the Linux kernel's KEYS trusted subsystem caused by incorrect TPM teardown ordering. The trusted_tpm_exit() function drops the TPM chip reference and frees the digest array before calling unregister_key_type(), creating a race condition where concurrent key operations can dereference freed memory. It affects Linux kernel versions from 5.1 up to (but not including) the patched commits in the 6.18 and 7.2 stable series. The vulnerability is classified as Medium severity (CWE-825: Expired Pointer Dereference) (Red Hat Advisory, GitHub Advisory).
The root cause is an incorrect teardown sequence in trusted_tpm_exit() (CWE-825: Expired Pointer Dereference). The function releases the TPM chip reference (put_device(&chip->dev)) and frees the digest array (kfree(digests)) before calling unregister_key_type(). Because key_type_lookup() holds key_types_sem for reading until a key operation completes, and unregister_key_type() acquires it for writing, the unregister call is the correct synchronization barrier — but it arrives too late. This permits a concurrent CPU to enter trusted_tpm_seal() → pcrlock() → tpm_pcr_extend() and read from the already-freed digest array. KASAN confirmed the bug as a slab-use-after-free at tpm_pcr_extend+0x1f0/0x200 (GitHub Advisory, Red Hat Advisory).
A local user with permission to create or instantiate trusted keys can trigger this vulnerability during concurrent key operations while the trusted kernel module is being unloaded, resulting in a use-after-free memory access. Successful exploitation can lead to arbitrary kernel code execution or a kernel panic (denial of service). The impact is confined to the local system; however, kernel-level code execution could allow full privilege escalation and system compromise (Red Hat Advisory, GitHub Advisory).
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the disclosure date (Red Hat Advisory). Exploitation requires local access and the ability to create trusted keys, limiting the attack surface. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog, and no EPSS score or threat actor attribution is currently available (GitHub Advisory).
trusted key type module loaded.keyctl utility) that continuously calls add_key("trusted", ...) to instantiate trusted keys, triggering trusted_tpm_seal() → pcrlock() → tpm_pcr_extend() in a tight loop.trusted kernel module (e.g., rmmod trusted) from another thread or process to invoke trusted_tpm_exit().trusted_tpm_exit() calls kfree(digests) before unregister_key_type() completes. If the concurrent key operation reaches tpm_pcr_extend() after the free, it dereferences the freed digest array.dmesg / /var/log/kern.log) containing BUG: KASAN: slab-use-after-free in tpm_pcr_extend or similar KASAN reports.tpm_pcr_extend, pcrlock, trusted_tpm_seal, trusted_instantiate, or __key_create_or_update in the call stack.keyctl or custom binaries calling add_key with type trusted from a non-privileged user account, especially concurrent with rmmod trusted.poc (as referenced in the KASAN trace: task poc/89) in unexpected directories.Apply the upstream kernel patches that reorder trusted_tpm_exit() to call unregister_key_type() before releasing the TPM chip reference or freeing the digest array. The fix is available in stable commits 753c978f2400f9783eb524842a975d3ac950d511, 2f7541afbc57fe9d26769a22c31d8ce8790c9a19, and 5e2d672280d97d83de43031d93761b12dadd7b8a. Patched kernel versions include 6.18.50+ and 7.2.4+; update to these versions when available from your Linux distribution. As a temporary workaround, avoid unloading the trusted module on systems where concurrent trusted key operations are occurring (GitHub Advisory, Red Hat Advisory).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."