CVE-2021-3406

9.8 CRITICAL

📋 TL;DR

CVE-2021-3406 is a critical vulnerability in Keylime versions 5.8.1 and older that breaks the cryptographic chain of trust from hardware endorsement keys to agent attestations. This allows attackers to potentially spoof trusted hardware attestations and bypass security controls. Organizations using Keylime for remote attestation and trusted computing are affected.

💻 Affected Systems

Products:
  • Keylime
Versions: 5.8.1 and older
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects both Keylime agent and registrar components. Any deployment using these versions is vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could spoof trusted hardware attestations, allowing compromised systems to appear trusted and bypass security controls, potentially leading to full system compromise and data exfiltration.

🟠

Likely Case

Unauthorized systems could be registered as trusted, bypassing security policies and gaining access to protected resources or networks.

🟢

If Mitigated

With proper network segmentation and monitoring, impact would be limited to the Keylime infrastructure itself rather than broader systems.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is in the trust validation logic, making exploitation straightforward once an attacker understands the flaw.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.9.0 and later

Vendor Advisory: https://github.com/keylime/keylime/security/advisories/GHSA-78f8-6c68-375m

Restart Required: Yes

Instructions:

1. Update Keylime to version 5.9.0 or later using your package manager. 2. Restart all Keylime services (agent, registrar, verifier). 3. Verify the update was successful.

🔧 Temporary Workarounds

Disable Keylime Services

linux

Temporarily disable Keylime agent and registrar services to prevent exploitation

sudo systemctl stop keylime_agent
sudo systemctl stop keylime_registrar
sudo systemctl disable keylime_agent
sudo systemctl disable keylime_registrar

🧯 If You Can't Patch

  • Isolate Keylime infrastructure from production networks using strict firewall rules
  • Implement additional monitoring and alerting for unusual attestation patterns

🔍 How to Verify

Check if Vulnerable:

Check Keylime version: 'keylime_agent --version' or 'keylime_registrar --version'. If version is 5.8.1 or older, system is vulnerable.

Check Version:

keylime_agent --version && keylime_registrar --version

Verify Fix Applied:

Verify version is 5.9.0 or later and check that services are running properly with 'systemctl status keylime_agent' and 'systemctl status keylime_registrar'.

📡 Detection & Monitoring

Log Indicators:

  • Unusual attestation patterns
  • Multiple failed attestation attempts from same source
  • Registrar accepting attestations from previously unknown hardware

Network Indicators:

  • Unexpected connections to Keylime ports (8881, 8882, 8883)
  • Network traffic patterns inconsistent with normal attestation cycles

SIEM Query:

source="keylime" AND (event="attestation_failure" OR event="untrusted_hardware")

🔗 References

📤 Share & Export