CVE-2023-21670 Overview
CVE-2023-21670 is a memory corruption vulnerability in the Qualcomm GPU subsystem that allows arbitrary command execution from the GPU in privileged mode. This firmware-level vulnerability affects a wide range of Qualcomm chipsets used in mobile devices, IoT platforms, automotive systems, wearables, and extended reality devices. Successful exploitation could enable an attacker with local access and low privileges to execute arbitrary code, potentially leading to complete device compromise.
Critical Impact
This GPU subsystem vulnerability enables arbitrary command execution in privileged mode, potentially allowing attackers to gain full control over affected devices including smartphones, IoT devices, and automotive systems powered by Qualcomm chipsets.
Affected Products
- Qualcomm Snapdragon Mobile Platforms (SD660, SD670, SD730, SD845, SD855, SD865 5G, SD888, SM8150, SM8250, SM8350, SM8450, SM8475)
- Qualcomm IoT and Compute Platforms (315 5G IoT Modem, QCS400, QCS605, QCS610, QCS6490, QCS8155, QCS8250, QCS8550)
- Qualcomm Automotive Platforms (SA4150P, SA4155P, SA6145P, SA6150P, SA6155, SA6155P, SA8145P, SA8150P, SA8155, SA8155P, SA8195P, SA8255P, SA8295P)
- Qualcomm Wearable and XR Platforms (Snapdragon W5+ Gen1, SnapdragonWear 4100+, Snapdragon XR1, Snapdragon XR2 5G, Snapdragon XR2+ Gen1, Snapdragon AR2 Gen1)
- Qualcomm Modem and Connectivity Components (WCN3610, WCN3615, WCN3620, WCN3660B, WCN3680, WCN3680B, WCN3910, WCN3950, WCN3980, WCN3988, WCN3990, WCN3991, WCN3998, WCN6740, WCN6750, WCN685x series, WCN785x series, QCA6174A, QCA6390, QCA6391, QCA6420, QCA6426, QCA6430, QCA6436, QCA6574, QCA6574A, QCA6574AU, QCA6595, QCA6595AU, QCA6696, QCA6698AQ, QCA6797AQ)
Discovery Timeline
- June 6, 2023 - CVE CVE-2023-21670 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2023-21670
Vulnerability Analysis
This vulnerability resides in the Qualcomm Adreno GPU kernel-level graphics support layer (KGSL) driver. The flaw allows arbitrary command execution from the GPU in privileged mode, which can lead to memory corruption. The vulnerability is related to improper access control (CWE-284) and incorrect authorization (CWE-863), indicating that the GPU subsystem fails to properly validate or restrict the execution context of GPU commands.
The Adreno GPU driver handles communication between the application processor and the GPU hardware. When malicious GPU commands are crafted and submitted, the driver fails to adequately verify that these commands are authorized to execute in privileged mode. This allows an attacker to leverage the GPU's direct memory access capabilities to corrupt memory regions that should be protected.
Root Cause
The root cause of CVE-2023-21670 stems from improper access control mechanisms in the Qualcomm Adreno KGSL driver. The GPU subsystem does not adequately enforce authorization boundaries when processing GPU commands, allowing commands to execute in a privileged context without proper validation. This improper authorization (CWE-863) combined with missing access control restrictions (CWE-284) creates a pathway for attackers to bypass security boundaries and execute arbitrary operations with elevated privileges.
Attack Vector
The attack requires local access to the affected device. An attacker with low privileges can exploit this vulnerability by submitting specially crafted GPU commands through the graphics driver interface. The exploitation path typically involves:
- Gaining local access to a device with a vulnerable Qualcomm chipset
- Interacting with the Adreno KGSL driver through user-space APIs
- Crafting malicious GPU commands that leverage the improper authorization flaw
- Executing these commands to achieve arbitrary code execution in privileged mode
- Using the privileged execution context to corrupt memory and potentially escalate privileges further
The vulnerability does not require user interaction, making it particularly dangerous in scenarios where an attacker has already obtained limited access to a device through another vector such as a malicious application.
Technical details regarding the specific exploitation technique can be found in the Packet Storm Security advisory.
Detection Methods for CVE-2023-21670
Indicators of Compromise
- Unusual GPU driver activity or errors in system logs related to the Adreno KGSL driver
- Unexpected memory access patterns or memory corruption events near GPU-accessible memory regions
- Abnormal process behavior following GPU-intensive operations
- Kernel panic or system instability triggered by GPU operations
Detection Strategies
- Monitor for suspicious IOCTL calls to the /dev/kgsl-3d0 device node
- Implement kernel-level auditing to detect unauthorized GPU command submissions
- Deploy endpoint detection solutions capable of monitoring driver-level activity on Android devices
- Use SentinelOne's behavioral AI engine to detect anomalous GPU subsystem interactions and memory corruption attempts
Monitoring Recommendations
- Enable verbose logging for GPU driver operations where supported
- Implement device health monitoring to detect signs of exploitation attempts
- Deploy mobile threat defense solutions on enterprise-managed devices
- Regularly review firmware versions on affected devices and maintain an accurate inventory of Qualcomm-based hardware
How to Mitigate CVE-2023-21670
Immediate Actions Required
- Apply the latest firmware updates from Qualcomm and device OEMs that address this vulnerability
- Prioritize patching for devices in high-security environments, including automotive and industrial IoT deployments
- Restrict installation of applications from untrusted sources on affected devices
- Implement network segmentation to limit lateral movement if a device is compromised
Patch Information
Qualcomm has released patches addressing this vulnerability as part of the June 2023 Security Bulletin. Device manufacturers (OEMs) are responsible for integrating these patches into their firmware updates. Users should check with their device manufacturer for available updates and apply them immediately.
For Android devices, the vulnerability may be addressed through monthly security patches distributed by Google and OEMs. Enterprise administrators should work with their mobile device management (MDM) solutions to ensure patches are deployed across managed device fleets.
Workarounds
- Limit application installation to trusted sources such as official app stores to reduce the risk of malicious code reaching the GPU driver
- Consider disabling or restricting GPU-intensive features on highly sensitive devices until patches are applied
- Implement application sandboxing and runtime protection to limit the impact of potential exploitation
- Deploy SentinelOne Singularity Mobile to provide real-time threat detection and response for mobile endpoints
# Verify device firmware version on Android (adb shell)
adb shell getprop ro.build.fingerprint
adb shell getprop ro.vendor.build.security_patch
# Check for Qualcomm chipset information
adb shell cat /proc/cpuinfo | grep Hardware
# Review available system updates
# Settings -> System -> System Update (varies by device)
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

