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.
PUBLISHED5.2CWE-1241
Keylime: keylime: security bypass due to hardcoded tpm quote nonce
Problem type
Affected products
Red Hat
Red Hat Enterprise Linux 10
Red Hat Enterprise Linux 9
References
access.redhat.com
https://access.redhat.com/security/cve/CVE-2026-6420
RHBZ#2458889
https://bugzilla.redhat.com/show_bug.cgi?id=2458889
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-6420Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-6420",
"assignerOrgId": "53f830b8-0a3f-465b-8143-3b8a9948e749",
"assignerShortName": "redhat",
"dateUpdated": "2026-05-06T10:19:39.121Z",
"dateReserved": "2026-04-16T06:03:46.656Z",
"datePublished": "2026-05-06T10:19:39.121Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "53f830b8-0a3f-465b-8143-3b8a9948e749",
"shortName": "redhat",
"dateUpdated": "2026-05-06T10:19:39.121Z"
},
"datePublic": "2026-05-06T10:00:00.000Z",
"title": "Keylime: keylime: security bypass due to hardcoded tpm quote nonce",
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"vendor": "Red Hat",
"product": "Red Hat Enterprise Linux 10",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"packageName": "keylime",
"cpes": [
"cpe:/o:redhat:enterprise_linux:10"
],
"defaultStatus": "affected"
},
{
"vendor": "Red Hat",
"product": "Red Hat Enterprise Linux 9",
"collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
"packageName": "keylime",
"cpes": [
"cpe:/o:redhat:enterprise_linux:9"
],
"defaultStatus": "affected"
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Use of Predictable Algorithm in Random Number Generator",
"cweId": "CWE-1241",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://access.redhat.com/security/cve/CVE-2026-6420",
"tags": [
"vdb-entry",
"x_refsource_REDHAT"
]
},
{
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2458889",
"name": "RHBZ#2458889",
"tags": [
"issue-tracking",
"x_refsource_REDHAT"
]
}
],
"metrics": [
{},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "HIGH",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "LOW",
"baseScore": 6.3,
"baseSeverity": "MEDIUM"
}
}
],
"workarounds": [
{
"lang": "en",
"value": "Primary fix (one-line change in keylime/models/verifier/evidence.py):\nBefore (vulnerable):\ndef generate_challenge(self, bit_length):\n\nself.challenge = Nonce.generate(bit_length)\n self.challenge = bytes.fromhex(\"49beed365aac777dae23564f5ad0ec\")\n\nAfter (fixed):\ndef generate_challenge(self, bit_length):\nself.challenge = Nonce.generate(bit_length)\n\nExisting partial mitigations (already active):\n\n1. TPM clock monotonicity check: limits each quote to one replay.\n2. Push attestation timeout (default 10s): constrains the quote generation window, but TPM throughput allows 50-200 quotes to be stockpiled in that time."
}
],
"timeline": [
{
"time": "2026-04-16T06:01:38.993Z",
"lang": "en",
"value": "Reported to Red Hat."
},
{
"time": "2026-05-06T10:00:00.000Z",
"lang": "en",
"value": "Made public."
}
],
"credits": [
{
"lang": "en",
"value": "Red Hat would like to thank Keylime developers for reporting this issue."
}
]
}
}
}