Description
In the Linux kernel, the following vulnerability has been resolved:

tpm: Disable TPM on null key name mismatch

The null key name check exists to protect against TPM reset attacks, so
a mismatch should stop the device from serving further requests.
Currently it does not disable the chip when it finds a mismatch.

The mismatch is logged:

tpm tpm0: null key integrity check failed

but the chip keeps serving commands:

/ # tpm2_getcap -c properties-fixed
TPM_PT_FAMILY_INDICATOR:
as UINT32: 0x08322e3000
as string: "2.0"
...

tpm2_load_null() where the null key name check is run sets the chip as
disabled only if the rc is non zero. When the mismatch is seen, rc is
zero at that point and it returns success. The other issue is that the
caller expects the null key handle to be populated when the function
returns 0 which it does here without writing the handle and proceeds
assuming the null key handle is valid.

During the test, I noticed that tpm2_start_auth_session() uses the
uninitialized stack value as the key handle since tpm2_load_null()
returns 0 despite the integrity failure and proceeds with
TPM2_CC_START_AUTH_SESS with this value as salt key handle.

Set rc to -ENODEV on the mismatch. The error path then disables the chip
and returns the correct code to the caller.

Tested in QEMU with swtpm and CONFIG_TCG_TPM2_HMAC=y by making
TPM2_CC_CONTEXT_LOAD fail with TPM2_RC_INTEGRITY and changing the name
of the re-created null key. The chip is now disabled on the mismatch.
Published: 2026-10-18
Score: 4.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: TPM functionality abused due to missing on integrity failure
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises when the TPM null key name integrity check fails. The system logs a warning, but it does not disable the TPM chip as intended. Because the load function returns 0 despite the mismatch, the caller receives an uninitialized key handle and proceeds to use it for authentication sessions. This allows an attacker to continue interacting with the TPM after an integrity violation, potentially forging sessions or bypassing trusted operations.

Affected Systems

Affected systems are Linux kernel environments that use the TPM 2.0 driver with the CONFIG_TCG_TPM2_HMAC setting and support null key handling, such as QEMU with swtpm. Any system that loads the kernel module for TPM and has the null key mechanism enabled is vulnerable until the kernel patch is applied.

Risk and Exploitability

Based on the description, it is inferred that an attacker who can trigger a null key integrity failure may be able to bypass the intended disabling of the device. For example, by manipulating key names or sending malformed TPM commands, the integrity check fails while the TPM remains active. The likely attack vector is local, requiring access to the TPM driver or local user privileges, and could be leveraged for privilege escalation or fraud. The EPSS score of less than 1% indicates a very low probability of exploitation, and the issue is not yet included in the CISA KEV catalog. The CVSS score of 4.5 indicates moderate severity, reflecting the risk of misusing the TPM’s integrity model.

Generated by OpenCVE AI on October 24, 2026 at 04:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel update that contains the fix for this issue. The commit references in the advisory provide the patch that corrects the Disable TPM on null key name mismatch bug.
  • If an upgrade cannot be performed immediately, disable the TPM device on the affected system by removing or blacklisting the tpm kernel module, or by configuring the BIOS/firmware to lock out the TPM when an integrity failure occurs. This stops the TPM from serving commands after a mismatch.
  • Review system policies to limit which users or services can interact with the TPM. Enforce strict access control rules so that only trusted applications can send commands to the TPM, reducing the risk of abuse in the event of a future flaw.

Generated by OpenCVE AI on October 24, 2026 at 04:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Sat, 24 Oct 2026 03:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-640
CWE-693

Sat, 24 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-393
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.5, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L'}

threat_severity

Moderate


Sun, 18 Oct 2026 22:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-640
CWE-693

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: tpm: Disable TPM on null key name mismatch The null key name check exists to protect against TPM reset attacks, so a mismatch should stop the device from serving further requests. Currently it does not disable the chip when it finds a mismatch. The mismatch is logged: tpm tpm0: null key integrity check failed but the chip keeps serving commands: / # tpm2_getcap -c properties-fixed TPM_PT_FAMILY_INDICATOR: as UINT32: 0x08322e3000 as string: "2.0" ... tpm2_load_null() where the null key name check is run sets the chip as disabled only if the rc is non zero. When the mismatch is seen, rc is zero at that point and it returns success. The other issue is that the caller expects the null key handle to be populated when the function returns 0 which it does here without writing the handle and proceeds assuming the null key handle is valid. During the test, I noticed that tpm2_start_auth_session() uses the uninitialized stack value as the key handle since tpm2_load_null() returns 0 despite the integrity failure and proceeds with TPM2_CC_START_AUTH_SESS with this value as salt key handle. Set rc to -ENODEV on the mismatch. The error path then disables the chip and returns the correct code to the caller. Tested in QEMU with swtpm and CONFIG_TCG_TPM2_HMAC=y by making TPM2_CC_CONTEXT_LOAD fail with TPM2_RC_INTEGRITY and changing the name of the re-created null key. The chip is now disabled on the mismatch.
Title tpm: Disable TPM on null key name mismatch
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:26:37.375Z

Reserved: 2026-09-25T10:25:14.373Z

Link: CVE-2026-98845

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:38.833

Modified: 2026-10-19T10:19:48.590

Link: CVE-2026-98845

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98845 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-24T04:45:16Z

Weaknesses
  • CWE-393

    Return of Wrong Status Code