Qualcomm Adreno GPU Privilege Escalation (CVE-2025-21479)
CVE-2025-21479 is a high-severity local privilege escalation vulnerability in the Qualcomm Adreno GPU driver allowing for kernel-level arbitrary physical memory writes, with functional exploits now targeting Android devices including the iQOO Neo9.
CVE search metadata
CVE search record: CVE-2025-21479. Severity: high. CVSS: 8.6. EPSS: 0.84%. KEV: no. Product: iQOO Neo9 (Android 15), Qualcomm aqt1000 Firmware (All versions). Brief: Qualcomm Adreno GPU Privilege Escalation (CVE-2025-21479). Brief link: https://feed.craftedsignal.io/briefs/2026-10-vivo-iqoo-neo9-root-cve-2025-21479/
Triage facts
Revision 1- Applicability
- iQOO Neo9 (Android 15), Qualcomm aqt1000 Firmware (All versions)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 2 public sources
- Freshness
- Revision 1Oct 24, 00:02 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- B2Likely
CVE-2025-21479 is a high-severity vulnerability (CVSS 8.6) in the Qualcomm Adreno GPU driver firmware, specifically related to the CP_SET_DRAW_STATE command. An exploit has been published that leverages this flaw to achieve arbitrary physical memory write access. On the iQOO Neo9 (running Android 15), this is used to gain kernel-level root access by patching kernel memory to enable full process capabilities (41-bit) while deliberately retaining a non-zero effective UID to bypass manufacturer-specific anti-root detection mechanisms like vr.ko.
Attack Chain
- An attacker executes a local, user-level binary on the target Android device.
- The exploit triggers a vulnerability in the Adreno GPU driver (CP_SET_DRAW_STATE).
- The GPU driver performs an unauthorized SMMU table update (CP_SMMU_TABLE_UPDATE).
- The attacker achieves arbitrary physical write primitive via a forged page table.
- The kernel memory is patched to disable
kptr_restrictand modifycap_bprm_creds_from_fileto preserve capabilities across binary execution. - A resident root daemon is spawned, granting full 41-bit capabilities (CapEff) while maintaining euid=2000 to evade anti-root detection.
- The daemon provides a command execution interface for arbitrary root commands.
Impact
Successful exploitation allows local, unprivileged users or malicious applications to gain full kernel-level capabilities on affected Android devices, bypassing system security policies and manufacturer-specific anti-root protections. The exploit is resident in RAM and does not persist across reboots, but provides full system control while active.
Recommendation
- Monitor for unauthorized binaries being pushed to
/data/local/tmpvia ADB or other vectors. - Audit device integrity for signs of active kernel memory modification, particularly those targeting
kptr_restrictor capability-related functions. - Prioritize patching Android devices when OEM firmware updates addressing CVE-2025-21479 become available.
- Restrict ADB access and developer options in production/managed environments to mitigate the initial deployment vector.
Immediate actions
Scan managed mobile devices for presence of binaries in /data/local/tmp
Threat Hunt
Monitor for abnormal privilege escalation activity within Android application environments
Data: Android auditd logs, process execution events
Mitigations
Apply firmware updates for Qualcomm aqt1000 and OEM patches when released
CVE-2025-21479