# Pixel 10 0-click exploit chain: Dolby UDC CVE-2025-54957 plus VPU driver mmap flaw (Project Zero)

> Project Zero (Seth Jenkins) describes a 0-click exploit chain for the Google Pixel 10 (Tensor G5) that pairs the Dolby UDC integer-wraparound heap overflow CVE-2025-54957 with a kernel VPU driver flaw. The VPU mmap handler for Chips&Media Wave677DV silicon let userspace map arbitrary physical memory. The VPU issue was patched in the February 2026 Pixel bulletin, 71 days after the November 24, 2025 report.

- **Published:** 2026-10-31T21:57:00Z
- **Last reviewed:** 2026-10-31T21:57:00Z
- **Canonical:** https://intel.threadlinqs.com/threat/TL-2026-4932
- **ID:** TL-2026-4932
- **Severity:** HIGH (CVSS 9.8)
- **Category:** VULNERABILITY
- **Status:** PATCHED
- **Detections:** 9 · **IOCs:** 8 (full data via the Threadlinqs MCP server — Purple tier)
- **CVEs:** CVE-2025-54957, CVE-2025-36934, CVE-2026-0106

## Description

Google Project Zero published 'A 0-click exploit chain for the Pixel 10: When a Door Closes, a Window Opens' on 2026-05-13. It adapts the earlier Pixel 9 chain (published January 2026) to the Pixel 10 (Tensor G5). The research is a vulnerability analysis with public proof-of-concept material in the Project Zero tracker. The sources report no in-the-wild exploitation and no network IOCs.

Stage 1 is Dolby Unified Decoder (UDC) CVE-2025-54957, affecting UDC 4.5 through 4.13. When Evolution/EMDF data is processed by evo_priv.c from a DD+ (EAC3) bitstream, the decoder writes it into a buffer. The length calculation can wrap on 64-bit platforms, so the allocation is too small and the later bounds check on the write is ineffective. Later members of the enclosing struct, including a pointer written on the next syncframe, can then be overwritten. NVD scores it CVSS 3.1 9.8 (CWE-190, CWE-787). The trigger is 0-click: Google Messages automatically decodes incoming SMS and RCS audio attachments for transcription, which puts the Dolby decoder in the codec2 process (mediacodec SELinux domain, /vendor/lib64/libcodec2_soft_ddpdec.so on Pixel 9) on the 0-click attack surface. Pixel 10 hardening needed adaptation: because of RET PAC, the Pixel 9 approach of overwriting __stack_chk_fail was unavailable, so the exploit instead targets dap_cpdp_init, an initialization routine called once during decoder start-up, and offsets are recalculated for the Pixel 10 library version. Devices with a security patch level of December 2025 or earlier are affected by the Dolby stage.

Stage 2 is a kernel privilege escalation in the VPU driver for the Chips&Media Wave677DV video silicon in Tensor G5, exposed as /dev/vpu and reachable from the mediacodec context. By specifying a size larger than the register region in an mmap syscall, the caller can map as much physical memory as they want into userland, starting from the VPU MMIO register base. Because the kernel image's physical location is deterministic on Pixel, the .text and .data segments can be mapped and modified directly, which gives kernel code execution with minimal implementation effort. This is the Pixel 10 analogue of the Pixel 9 BigWave driver bug (issue 426567975, CVE-2025-36934). The VPU flaw is tracked as Project Zero issue 463438263, was reported 2025-11-24, and was patched in the February 2026 Pixel bulletin (71 days). The Pixel update bulletin published 2026-02-03 lists CVE-2026-0106, a High-severity EoP in the VPU driver, as its single fix; it appears to correspond to this issue, but the Project Zero article itself gives no CVE for the VPU bug.

Defensive notes: apply Pixel security patch level 2026-02-05 or later, which includes the VPU fix, and keep the Dolby UDC fix from the January 2026 patch level. Consider disabling automatic audio transcription or media auto-decode where policy allows. Detection on-device is limited. Telemetry of interest includes crashes or tombstones in the codec2/mediacodec process (libcodec2_soft_ddpdec.so), unexpected mediacodec access to /dev/vpu, and SELinux denials from the mediacodec domain. CISA KEV status for CVE-2025-54957 could not be confirmed from the feed fetch, so none is asserted. No CVSS exists in the source for the VPU issue, and HIGH severity is an analyst judgment.

## MITRE ATT&CK

- T1664 Exploitation for Initial Access
- T1203 Exploitation for Client Execution
- T1106 Native API
- T1404 Exploitation for Privilege Escalation

## Sources

- [A 0-click exploit chain for the Pixel 10: When a Door Closes, a Window Opens](https://projectzero.google/2026/05/pixel-10-exploit.html)
- [A 0-click exploit chain for the Pixel 9 (Part 1)](https://projectzero.google/2026/01/pixel-0-click-part-1.html)
- [NVD: CVE-2025-54957](https://nvd.nist.gov/vuln/detail/CVE-2025-54957)
- [Dolby Security Advisory CVE-2025-54957](https://professional.dolby.com/siteassets/pdfs/dolby-security-advisory-CVE-2025-54957-Oct-14-25.pdf)
- [Project Zero issue 428075495 (Dolby UDC, exploit attachment)](https://project-zero.issues.chromium.org/issues/428075495)
- [Pixel Update Bulletin: February 2026](https://source.android.com/docs/security/bulletin/pixel/2026/2026-02-01)
- [Debian Security Tracker: CVE-2025-54957](https://security-tracker.debian.org/tracker/CVE-2025-54957)
- [SC Media: Zero-click attacks possible with Dolby decoder bug](https://www.scworld.com/brief/zero-click-attacks-possible-with-dolby-decoder-bug)
- [heise: Patchday Android - Driver vulnerability endangers Pixel smartphones](https://heise.de/-11166479)

## Full data

Detection queries (Splunk SPL / Microsoft KQL / Sigma) and IOC values require the Threadlinqs MCP server (Purple tier): https://intel.threadlinqs.com/mcp

Canonical: https://intel.threadlinqs.com/threat/TL-2026-4932
