CVE-2020-11684
📋 TL;DR
CVE-2020-11684 is a memory disclosure vulnerability in AT91bootstrap that fails to properly clear encryption and authentication keys from memory before transferring control to less privileged software. This allows attackers to extract cryptographic keys and potentially compromise the boot process by encrypting and signing subsequent boot stages. Affected systems include devices using Microchip AT91 processors with vulnerable AT91bootstrap versions.
💻 Affected Systems
- Microchip AT91 processors
- AT91bootstrap
📦 What is this software?
At91bootstrap by Linux4sam
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of the boot chain, allowing attackers to install persistent malware, bypass secure boot mechanisms, and gain full control over the device.
Likely Case
Extraction of cryptographic keys leading to compromised device integrity, potential firmware modification, and unauthorized access to protected data.
If Mitigated
Limited impact if proper secure boot and memory protection mechanisms are in place, though key exposure remains a concern.
🎯 Exploit Status
Exploitation requires physical access or privileged access to the device to read memory contents.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.9.2 and later
Vendor Advisory: https://github.com/linux4sam/at91bootstrap/commit/45419497309ffbf27c17ea7938499aca99168927
Restart Required: Yes
Instructions:
1. Update AT91bootstrap to version 3.9.2 or later. 2. Rebuild and flash the updated bootstrap to affected devices. 3. Verify secure boot chain integrity.
🔧 Temporary Workarounds
Memory Protection Configuration
allConfigure memory protection units (MPUs) to restrict access to sensitive memory regions containing cryptographic keys.
Configure MPU settings in bootloader configuration
🧯 If You Can't Patch
- Implement strict physical security controls to prevent unauthorized device access.
- Use hardware security modules (HSMs) or trusted platform modules (TPMs) for key storage and management.
🔍 How to Verify
Check if Vulnerable:
Check AT91bootstrap version: if version < 3.9.2, system is vulnerable.
Check Version:
Check bootloader version during boot sequence or via device firmware interface.
Verify Fix Applied:
Verify AT91bootstrap version is 3.9.2 or later and confirm memory wiping routines are implemented.
📡 Detection & Monitoring
Log Indicators:
- Unexpected memory access patterns
- Boot process anomalies
- Secure boot validation failures
Network Indicators:
- None - this is a local memory disclosure vulnerability
SIEM Query:
Search for bootloader version strings indicating vulnerable AT91bootstrap versions.
🔗 References
- https://github.com/linux4sam/at91bootstrap/commit/45419497309ffbf27c17ea7938499aca99168927
- https://labs.f-secure.com/advisories/microchip-at91bootstrap/
- https://github.com/linux4sam/at91bootstrap/commit/45419497309ffbf27c17ea7938499aca99168927
- https://labs.f-secure.com/advisories/microchip-at91bootstrap/