CVE-2020-28346
📋 TL;DR
CVE-2020-28346 is a NULL pointer dereference vulnerability in ACRN hypervisor's virtio.c PCI device model. This allows attackers to cause denial of service (hypervisor crash) by triggering the NULL pointer dereference. Affects ACRN hypervisor users running vulnerable versions.
💻 Affected Systems
- ACRN Hypervisor
📦 What is this software?
Acrn by Projectacrn
⚠️ Risk & Real-World Impact
Worst Case
Hypervisor crash leading to complete loss of all virtual machines running on the affected host, requiring physical host reboot.
Likely Case
Denial of service affecting specific virtual machines or hypervisor functionality, potentially disrupting critical workloads.
If Mitigated
Limited impact with proper isolation and redundancy, though service interruption may still occur.
🎯 Exploit Status
Exploitation requires access to trigger the virtio device model. No public exploit code identified in references.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in commit ae0ab82434509d6e75f4a2f1e1a0dd2ee3dc3681 and later
Vendor Advisory: https://github.com/projectacrn/acrn-hypervisor/pull/5453
Restart Required: Yes
Instructions:
1. Update ACRN hypervisor to version after commit ae0ab82434509d6e75f4a2f1e1a0dd2ee3dc3681. 2. Rebuild and redeploy ACRN. 3. Reboot affected systems to load patched hypervisor.
🔧 Temporary Workarounds
Disable vulnerable virtio devices
linuxIf specific virtio devices are not required, disable them to reduce attack surface
Modify ACRN configuration to remove or disable virtio devices in devicemodel/hw/pci/virtio/
🧯 If You Can't Patch
- Isolate ACRN hypervisor systems from untrusted networks and users
- Implement strict access controls to limit who can interact with virtio device models
🔍 How to Verify
Check if Vulnerable:
Check ACRN version: if running version 2.2 or earlier, system is vulnerable. Review commit history for presence of fix commit ae0ab82434509d6e75f4a2f1e1a0dd2ee3dc3681.
Check Version:
acrn-dm --version or check ACRN source/build version information
Verify Fix Applied:
Verify ACRN build includes commit ae0ab82434509d6e75f4a2f1e1a0dd2ee3dc3681 or later. Check that virtio.c has proper NULL pointer checks.
📡 Detection & Monitoring
Log Indicators:
- Hypervisor crash logs
- Kernel panic messages related to virtio
- ACRN error logs mentioning NULL pointer dereference in virtio.c
Network Indicators:
- Unusual virtio device communication patterns
SIEM Query:
Search for: 'virtio.c NULL pointer' OR 'ACRN crash' OR 'hypervisor panic' in system logs
🔗 References
- https://github.com/projectacrn/acrn-hypervisor/pull/5453
- https://github.com/projectacrn/acrn-hypervisor/pull/5453/commits/ae0ab82434509d6e75f4a2f1e1a0dd2ee3dc3681
- https://github.com/projectacrn/acrn-hypervisor/pull/5453
- https://github.com/projectacrn/acrn-hypervisor/pull/5453/commits/ae0ab82434509d6e75f4a2f1e1a0dd2ee3dc3681