Full Report
We recently published an exploit chain for the Google Pixel 9 that demonstrated it was possible to go from a zero-click context to root on Android in just two exploits. The Dolby 0-click vulnerability existed across all of Android, until it was patched in January 2026. While we had an exploit chain for the Pixel 9, we wanted to see if it was possible to write a similar exploit chain for Pixel 10. Updating the Dolby Exploit Altering our exploit for CVE-2025-54957 was fairly straightforward. The majority of needed changes involved updating offsets calculated for the specific version of the library we targeted on the Pixel 9 to similar offsets in the library for Pixel 10. The only challenge (outside of wishing we’d better documented which syncframes contained offsets) was that the Pixel 10 uses RET PAC in the place of -fstack-protector, which meant that __stack_chk_fail wasn’t available to be overwritten by code. After a bit of trial and error, we used dap_cpdp_init, initialization code that can be overwritten without causing functional problems, as it is called once when the decoder is initialized and never again.
Analysis Summary
# Vulnerability: Pixel 10 "VPU" Driver Physical Memory Mapping (0-click Exploit Chain)
## CVE Details
- **CVE ID:** CVE-2026-TBD (Reported November 2025; specific ID not listed in text)
- **CVSS Score:** 9.8 (Estimated - High/Critical Severity)
- **CWE:** CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer / CWE-284: Improper Access Control
## Affected Systems
- **Products:** Google Pixel 10 (Tensor G5 chipset)
- **Versions:** Firmware versions prior to February 2026 Security Patch Level (SPL).
- **Configurations:** Devices utilizing the `WAVE677DV` VPU driver (facilitated by Chips&Media) accessible via the `mediacodec` SELinux context at `/dev/vpu`.
## Vulnerability Description
The vulnerability exists within the `vpu_mmap` handler of the VPU video acceleration driver. The driver is intended to map the hardware's MMIO (Memory-Mapped I/O) register interface into userland space. However, the implementation of `remap_pfn_range` fails to validate the size of the Virtual Memory Area (VMA) requested by the user against the actual size of the register region.
Because the kernel image and physical RAM are located at higher physical addresses than the VPU registers, an attacker can specify a large mapping size to "overshoot" the registers and map the entirety of the kernel’s physical memory (including `.text` and `.data` regions) into a userspace process with read/write permissions.
## Exploitation
- **Status:** PoC available (Project Zero).
- **Complexity:** Low (Technical "Holy Grail" - requires only 5 lines of code for K-R/W).
- **Attack Vector:** Local (typically reached via a 0-click remote vector like the Dolby UDC flaw CVE-2025-54957 to gain initial high-privilege code execution).
## Impact
- **Confidentiality:** Total (Full access to kernel and system memory).
- **Integrity:** Total (Ability to modify kernel code/text to gain root and bypass all protections).
- **Availability:** Total (Potential for system crashes or persistent bricking).
## Remediation
### Patches
- **February 2026 Pixel Security Bulletin:** Google released a patch for the VPU driver. Users should update to SPL 2026-02-01 or later.
- **January 2026 Security Bulletin:** Patches the entry-point vulnerability (CVE-2025-54957) in the Dolby library.
### Workarounds
- No practical end-user workaround exists other than applying system security updates. Ensuring SELinux is in `Enforcing` mode provides the baseline sandbox, though this vulnerability specifically escapes that sandbox.
## Detection
- **Indicators of compromise:** Unusual memory mapping sizes in `/proc/[pid]/maps` associated with `/dev/vpu`.
- **Detection methods and tools:** Monitoring for unauthorized calls to the VPU driver from processes outside the standard media frameworks.
## References
- **Project Zero Blog:** hxxps[://]projectzero[.]google[.]com/2026/05/pixel-10-exploit[.]html
- **Dolby Exploit (CVE-2025-54957):** hxxps[://]project-zero[.]issues[.]chromium[.]org/428075495#attachment76717436
- **VPU Bug Report:** hxxps[://]project-zero[.]issues[.]chromium[.]org/issues/463438263