Description
A flaw was found in Keylime. An attacker with root access on an enrolled monitored machine, where the Keylime agent runs, can exploit a vulnerability in the Keylime verifier. The verifier uses a hardcoded challenge nonce for Trusted Platform Module (TPM) quote attestation instead of a cryptographically random value. This allows the attacker to stockpile valid TPM quotes and replay them to evade detection after compromising the system. This issue affects only the push model deployment.
Published: 2026-05-06
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Keylime’s verifier generates a TPM quote using a static nonce instead of a cryptographically random value. In CWE‑1241 terminology, the challenge is inadequately invalidated, allowing an attacker with local root privileges to pre‑compute valid quote responses and replay them later. This bypass makes the system believe the host remains in a trustworthy state even after compromise, effectively granting silent persistence.

Affected Systems

The vulnerability exists in the Keylime attestation framework shipped with Red Hat Enterprise Linux 9 and 10, and only affects the push‑model deployment. No other Red Hat products or non‑push deployments are impacted.

Risk and Exploitability

The CVSS score of 6.3 indicates moderate severity, and the EPSS score is not available; the issue is not listed in the CISA KEV catalog. Exploitation requires the attacker to have local root access to the enrolled host, making the attack vector local. While TPM clock monotonicity checks and the 10‑second attestation timeout provide some protection, a skilled root user can still gather large numbers of quotes during that window, so the mitigation is not fully reliable.

Generated by OpenCVE AI on May 6, 2026 at 11:51 UTC.

Remediation

Vendor Workaround

Primary fix (one-line change in keylime/models/verifier/evidence.py): Before (vulnerable): def generate_challenge(self, bit_length): self.challenge = Nonce.generate(bit_length) self.challenge = bytes.fromhex("49beed365aac777dae23564f5ad0ec") After (fixed): def generate_challenge(self, bit_length): self.challenge = Nonce.generate(bit_length) Existing partial mitigations (already active): 1. TPM clock monotonicity check: limits each quote to one replay. 2. Push attestation timeout (default 10s): constrains the quote generation window, but TPM throughput allows 50-200 quotes to be stockpiled in that time.


OpenCVE Recommended Actions

  • Apply the primary fix by editing keylime/models/verifier/evidence.py so that generate_challenge always calls Nonce.generate, removing the hardcoded nonce.
  • Maintain the TPM clock monotonicity check and, if possible, increase the push attestation timeout to a tighter threshold to reduce the window for quote accumulation.
  • If the push model is not essential in your environment, disable it to eliminate the vulnerable code path.
  • Restrict root access on Keylime hosts and employ strict audit logging to detect and respond to any local compromise attempts.

Generated by OpenCVE AI on May 6, 2026 at 11:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q8w6-w55c-ccv5 Keylime has a hardcoded attestation challenge nonce that allows replay attacks
History

Wed, 06 May 2026 16:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 06 May 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 06 May 2026 10:45:00 +0000

Type Values Removed Values Added
Description A flaw was found in Keylime. An attacker with root access on an enrolled monitored machine, where the Keylime agent runs, can exploit a vulnerability in the Keylime verifier. The verifier uses a hardcoded challenge nonce for Trusted Platform Module (TPM) quote attestation instead of a cryptographically random value. This allows the attacker to stockpile valid TPM quotes and replay them to evade detection after compromising the system. This issue affects only the push model deployment.
Title Keylime: keylime: security bypass due to hardcoded tpm quote nonce
First Time appeared Redhat
Redhat enterprise Linux
Weaknesses CWE-1241
CPEs cpe:/o:redhat:enterprise_linux:10
cpe:/o:redhat:enterprise_linux:9
Vendors & Products Redhat
Redhat enterprise Linux
References
Metrics cvssV3_1

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


Subscriptions

Redhat Enterprise Linux
cve-icon MITRE

Status: PUBLISHED

Assigner: redhat

Published:

Updated: 2026-05-06T15:24:21.052Z

Reserved: 2026-04-16T06:03:46.656Z

Link: CVE-2026-6420

cve-icon Vulnrichment

Updated: 2026-05-06T13:54:49.240Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-06T11:16:05.193

Modified: 2026-05-07T14:56:04.523

Link: CVE-2026-6420

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-05-06T10:00:00Z

Links: CVE-2026-6420 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-07T21:25:51Z

Weaknesses