CVE-2026-6420
Keylime: keylime: security bypass due to hardcoded tpm quote nonce
- Published
- Updated
- Reserved
- Assigned by
- redhat
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.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| redhatCNA (assigner) | 3.1 | Medium6.3 | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L |
| NVDNVD · Awaiting Analysis | 3.1 | Medium6.3 | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L |
- EPSS (exploitation in 30 days)
- 0.12% · top 98% of all CVEs (6 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: no · Technical impact: total
The list uses the assigner's score when there is one, then CISA's, then NVD's: Medium 6.3.
Weakness
Affected products
keylime
- affected 7.14.0 – < 7.14.2
Red Hat · Red Hat Enterprise Linux 10
- unaffected 0:7.14.1-5.el10_2.1 – < *
Red Hat · Red Hat Enterprise Linux 9
All versions: affected
Affected packages
From reviewed advisories of the GitHub Advisory Database.
- PyPIkeylimeGHSA-q8w6-w55c-ccv5 (opens in a new tab)
What to do
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.
References (3)
- RHSA-2026:28582 (opens in a new tab)vendor-advisoryx_refsource_REDHAT
- https://access.redhat.com/security/cve/CVE-2026-6420 (opens in a new tab)vdb-entryx_refsource_REDHAT
- RHBZ#2458889 (opens in a new tab)issue-trackingx_refsource_REDHAT
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisory GHSA-q8w6-w55c-ccv5 (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2026-6420)Record last updated .