CVE-2023-20569 Overview
CVE-2023-20569, also known as "Inception," is a side channel vulnerability affecting a wide range of AMD processors. This vulnerability allows an attacker to influence the return address prediction mechanism in vulnerable AMD CPUs, potentially enabling speculative execution at an attacker-controlled address. Successful exploitation can lead to information disclosure, allowing attackers to extract sensitive data from privileged memory regions.
This vulnerability is part of a class of speculative execution attacks that exploit the microarchitectural behavior of modern processors. Similar to previous Spectre-style attacks, Inception leverages the CPU's branch prediction mechanisms to leak sensitive information through timing side channels.
Critical Impact
Attackers can potentially leak sensitive data including cryptographic keys, passwords, and other privileged information from kernel memory or other security domains by exploiting speculative execution behavior in AMD processors.
Affected Products
- AMD Ryzen Desktop Processors (5000, 6000, and 7000 series)
- AMD Ryzen Mobile Processors (5000, 6000, and 7000 series)
- AMD Ryzen Threadripper PRO Processors (5000 series)
- AMD EPYC Server Processors (7003 and 9004 series)
- Microsoft Windows 10 and Windows 11 (various versions)
- Microsoft Windows Server 2008 through 2022
- Fedora 37 and 38
- Debian Linux 10.0, 11.0, and 12.0
Discovery Timeline
- August 8, 2023 - CVE-2023-20569 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2023-20569
Vulnerability Analysis
The Inception attack (CVE-2023-20569) targets the return address prediction mechanism in AMD processors. Modern CPUs use speculative execution to improve performance by predicting the outcomes of branches and executing instructions ahead of time. When a function returns, the CPU predicts the return address using a Return Stack Buffer (RSB) or similar microarchitectural structure.
Inception exploits a weakness in how AMD CPUs handle these return address predictions. By training the branch predictor with malicious patterns, an attacker can cause the processor to speculatively execute code at an attacker-controlled address. Although the speculatively executed instructions are eventually discarded (as the prediction is incorrect), they can leave observable traces in the processor's cache, which can be measured through timing attacks to extract sensitive data.
The attack requires local access to the target system, making it particularly concerning in shared computing environments such as cloud infrastructure, virtual machines, and multi-tenant systems where an attacker and victim may share the same physical CPU.
Root Cause
The root cause of CVE-2023-20569 lies in the microarchitectural design of AMD's branch prediction unit, specifically the handling of return address predictions. The vulnerability stems from the ability of unprivileged code to influence the speculative execution of privileged code through carefully crafted branch prediction training sequences. This is classified as CWE-203 (Observable Discrepancy), where the timing differences during speculative execution create an observable side channel that can be used to infer sensitive information.
Attack Vector
The attack is executed locally, requiring the attacker to have the ability to run code on the target system. The attacker first trains the branch predictor by executing specific instruction sequences that manipulate the return address prediction state. Once trained, when the victim code executes, the CPU may speculatively execute instructions at an address chosen by the attacker. During this speculative window, the attacker's gadget can access sensitive memory and encode the data into cache state. Finally, the attacker measures cache access times to recover the leaked information through a covert channel such as Flush+Reload or Prime+Probe.
This attack technique combines elements of transient execution attacks with sophisticated branch predictor manipulation, making it a complex but powerful information disclosure primitive.
Detection Methods for CVE-2023-20569
Indicators of Compromise
- Unusual patterns of cache timing measurements that may indicate Flush+Reload or Prime+Probe side-channel attacks
- High-frequency execution of specific instruction sequences designed to train the branch predictor
- Anomalous performance counter readings related to branch mispredictions and speculative execution
- Processes making repeated, precise timing measurements on memory access operations
Detection Strategies
- Enable performance monitoring counters to track branch misprediction rates and speculative execution metrics that deviate from baseline
- Deploy endpoint detection solutions capable of identifying known side-channel attack patterns and suspicious timing-based behaviors
- Implement hardware-assisted security features where available to detect microarchitectural attack attempts
- Monitor for processes exhibiting characteristics of transient execution attacks, such as repeated memory access patterns combined with precise timing operations
Monitoring Recommendations
- Establish baseline metrics for branch prediction behavior and speculative execution patterns on AMD systems
- Configure security monitoring to alert on anomalous cache access patterns that may indicate side-channel exploitation
- Deploy SentinelOne Singularity Platform for behavioral detection of exploitation attempts and real-time threat visibility
- Regularly audit systems for unauthorized performance monitoring tool usage that could facilitate timing attacks
How to Mitigate CVE-2023-20569
Immediate Actions Required
- Apply firmware and microcode updates from AMD as documented in AMD Security Bulletin AMD-SB-7005
- Update operating system kernels to include software mitigations (Linux kernel patches available, Windows updates from Microsoft)
- Apply hypervisor updates for virtualized environments, including Xen patches addressed in Xen Security Advisory XSA-434
- Review and update BIOS/UEFI firmware to the latest versions from system vendors
Patch Information
AMD has released microcode updates and mitigation guidance through AMD Security Bulletin AMD-SB-7005. Operating system vendors have also released kernel-level mitigations:
- Linux: Kernel patches available through distribution updates. See Debian Security Announcement DSA-5475 and Debian LTS Announcement for Debian systems. Fedora users should refer to the Fedora Package Announcements.
- Windows: Microsoft has released updates for Windows 10, Windows 11, and Windows Server versions.
- Xen Hypervisor: Patches available through XSA-434.
For detailed technical analysis, see the ETH Zurich Microarchitecture Research page.
Workarounds
- Enable IBPB (Indirect Branch Prediction Barrier) mitigation if supported by your system's microcode and kernel
- Consider disabling SMT (Simultaneous Multi-Threading) in high-security environments to reduce cross-thread attack surface
- Implement process isolation through containerization or virtualization with updated hypervisors to limit cross-tenant exposure
- Apply strict access controls to limit which users can execute code on systems with sensitive data
# Linux: Check if IBPB mitigation is active
cat /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow
# Linux: Verify microcode version has been updated
cat /proc/cpuinfo | grep -i microcode
# Linux: Check current CPU vulnerability mitigations status
grep . /sys/devices/system/cpu/vulnerabilities/*
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


