CVE-2023-20592 Overview
CVE-2023-20592 is a hardware vulnerability affecting multiple generations of AMD EPYC server processors. The vulnerability stems from improper or unexpected behavior of the INVD (Invalidate Cache) instruction, which can be exploited by an attacker with control over a malicious hypervisor to manipulate CPU cache line write-back behavior. This manipulation can result in a loss of memory integrity for guest virtual machines running on the affected hardware.
This vulnerability is particularly significant in cloud computing and virtualization environments where AMD EPYC processors are commonly deployed. The attack requires elevated privileges (hypervisor-level access) but can compromise the integrity of guest VM memory without the guest's knowledge or ability to detect the manipulation.
Critical Impact
A malicious hypervisor can exploit improper INVD instruction behavior to compromise guest VM memory integrity, potentially affecting data confidentiality and integrity in virtualized environments.
Affected Products
- AMD EPYC 7001 Series (Naples) processors and firmware
- AMD EPYC 7002 Series (Rome) processors and firmware
- AMD EPYC 7003 Series (Milan/Milan-X) processors and firmware
Discovery Timeline
- November 14, 2023 - CVE-2023-20592 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2023-20592
Vulnerability Analysis
This vulnerability affects the fundamental cache invalidation mechanism in AMD EPYC processors. The INVD instruction is designed to invalidate all cache lines without writing back modified data to memory. When executed in specific contexts by a malicious hypervisor, this instruction can exhibit unexpected behavior that compromises the cache coherency guarantees expected by guest virtual machines.
In virtualized environments, the hypervisor has significant control over CPU instruction execution and memory management. A compromised or malicious hypervisor can leverage this vulnerability to selectively manipulate what data gets written back to main memory when cache lines are invalidated. This creates a scenario where guest VMs may believe certain memory operations completed successfully when in fact the data was never properly persisted.
The impact is primarily on integrity rather than confidentiality or availability. Guest VM memory can be corrupted or left in an inconsistent state, potentially affecting:
- Cryptographic operations and key material
- Security-sensitive data structures
- File system metadata and data
- Application state and configuration
Root Cause
The root cause lies in the microarchitectural implementation of the INVD instruction in affected AMD EPYC processor generations. The instruction does not properly enforce cache coherency guarantees when executed in certain hypervisor contexts, allowing selective control over which modified cache lines are written back to memory before invalidation.
This represents a deviation from the expected architectural behavior where all modified cache lines should either be written back (WBINVD) or invalidated with clear documentation of data loss (INVD). The unexpected behavior creates an exploitable gap between the documented instruction semantics and actual processor behavior.
Attack Vector
The attack requires the adversary to have control over the hypervisor or host operating system. From this privileged position, the attacker can:
- Identify target memory regions belonging to guest VMs
- Wait for or trigger modifications to those memory regions by the guest
- Execute the INVD instruction in a manner that exploits the unexpected behavior
- Cause selective write-back failures, leaving guest memory in an inconsistent state
The attack is performed over the network in the sense that cloud infrastructure could be targeted, but local hypervisor access is required for exploitation. The vulnerability does not require user interaction and can be exploited without authentication at the guest level.
This vulnerability represents a firmware-level security issue where the processor microcode does not properly handle cache invalidation operations. The attack mechanism involves manipulating low-level CPU instructions to affect cache coherency behavior, which cannot be easily demonstrated through high-level code. For detailed technical analysis, refer to the AMD Security Bulletin AMD-SB-3005.
Detection Methods for CVE-2023-20592
Indicators of Compromise
- Unexplained memory corruption or data inconsistencies in guest virtual machines
- Guest VM crashes or application failures that cannot be attributed to software bugs
- Anomalous hypervisor behavior including unusual INVD instruction frequency
- Memory integrity check failures in secure boot or attestation processes
Detection Strategies
- Monitor for unusual patterns of cache invalidation instructions at the hypervisor level
- Implement memory integrity verification mechanisms within guest VMs to detect tampering
- Use hardware-based attestation features like AMD SEV-SNP where available to verify platform integrity
- Deploy behavioral analysis to detect anomalous hypervisor activity patterns
Monitoring Recommendations
- Enable detailed CPU performance monitoring counters to track cache-related events
- Implement periodic memory integrity checks for critical guest VM data structures
- Monitor hypervisor logs for suspicious privileged instruction execution patterns
- Utilize SentinelOne Singularity platform for endpoint visibility and anomaly detection in virtualized environments
How to Mitigate CVE-2023-20592
Immediate Actions Required
- Identify all systems using affected AMD EPYC processor generations (7001, 7002, 7003 series)
- Review AMD Security Bulletin AMD-SB-3005 for specific firmware update guidance
- Apply available firmware and BIOS updates from your system vendor
- Evaluate the use of AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) for enhanced VM isolation
Patch Information
AMD has released updated processor firmware (microcode) to address this vulnerability. The fix is distributed through BIOS/UEFI updates from server manufacturers and OEMs. Organizations should consult their hardware vendor for the specific update packages applicable to their systems.
Key remediation steps include:
- Obtain the latest BIOS/UEFI firmware from your server vendor
- Verify the firmware includes updated AMD microcode addressing CVE-2023-20592
- Schedule maintenance windows for firmware updates on production systems
- Validate system stability after applying updates
For detailed information, see the AMD Security Bulletin AMD-SB-3005.
Workarounds
- Consider enabling AMD SEV (Secure Encrypted Virtualization) features where available to provide additional memory protection
- Implement strict hypervisor access controls to limit exposure to malicious hypervisor scenarios
- Deploy workloads requiring highest integrity guarantees on systems with updated firmware
- Use memory integrity verification within guest VMs as a compensating control until patches can be applied
# Check AMD EPYC processor and microcode version on Linux
cat /proc/cpuinfo | grep -E "model name|microcode"
# Verify current BIOS/UEFI version (requires root)
dmidecode -t bios | grep -E "Vendor|Version|Release Date"
# Check if AMD SEV is available and enabled
dmesg | grep -i sev
cat /sys/module/kvm_amd/parameters/sev
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


