Исследователи Google Project Zero продемонстрировали опасную цепочку эксплойтов для смартфона Pixel 10. Атака начинается с удалённого использования уязвимости в декодере Dolby и заканчивается полным контролем над ядром операционной системы. Этот случай показывает, насколько быстро Google может закрывать критические проблемы, но одновременно вскрывает системную слабость: неглубокие ошибки в драйверах вендоров продолжают подрывать безопасность Android.
Цепочка эксплойтов в Pixel 10
В январе 2026 года компания выпустила патч, закрывающий входную точку цепочки - уязвимость CVE-2025-54957 в едином декодере Dolby (Dolby Unified Decoder). Этот баг позволял злоумышленнику выполнить произвольный код удалённо, когда устройство обрабатывало специально сформированный аудиопоток Dolby Digital Plus (DD+). Аудиовложения и голосовые сообщения превращались в поверхность для нуль-клик атаки, то есть для её запуска жертве не требовалось совершать никаких действий - достаточно было просто получить вредоносный файл.
Проекту Project Zero уже была знакома эта проблема: ранее она затрагивала Pixel 9 и другие Android-устройства. Для Pixel 10 исследователь Сет Дженкинс обновил существующий эксплойт, пересчитав смещения под новую сборку библиотеки Dolby. Основная сложность возникла из-за перехода на аппаратную аутентификацию указателей возврата (RET PAC) вместо классического стекового протектора. Это изменение лишило атакующего старого примитива - перезаписи __stack_chk_fail. Чтобы восстановить возможность выполнения кода, команда нацелилась на функцию dap_cpdp_init - инициализирующую процедуру, которая запускается однократно, может быть безопасно перезаписана и не влияет на нормальное декодирование после завершения процесса. Обновлённый эксплойт для декодера Dolby срабатывает только на устройствах, которые ещё не получили декабрьские или январские патчи.
На Pixel 9 второй этап атаки опирался на уязвимость в драйвере BigWave AV1 для повышения локальных привилегий до уровня ядра. Однако Pixel 10 больше не поставляется с этим драйвером. Вместо него в устройстве появился новый драйвер /dev/vpu, который управляет блоком аппаратного декодирования видео Wave677DV в чипе Tensor G5. Занимается этим же команда разработчиков, что и BigWave, поэтому он сразу стал кандидатом для быстрого аудита.
Всего два часа ревю кода потребовалось Дженкинсу и Янну Хорну, чтобы обнаружить критическую уязвимость в обработчике mmap (системном вызове для отображения файлов и устройств в память) драйвера VPU. Проблема заключалась в том, что реализация vpu_mmap отображала физическую область, начиная с регистров VPU, в виртуальную память пользователя, но никак не проверяла, укладывается ли запрошенный размер в диапазон MMIO (память, отображаемая на регистры ввода-вывода). Если передать слишком большой размер отображения, можно выйти далеко за пределы области регистров VPU и получить доступ к произвольной физической памяти, включая весь образ ядра.
На Pixel ядро всегда располагается по фиксированному физическому адресу, поэтому атакующие точно знают, где искать и писать данные относительно базовой области VPU. Им не приходится угадывать адреса или обходить механизм рандомизации размещения адресного пространства ядра (KASLR). Project Zero сообщает, что построение примитива произвольного чтения-записи в ядре заняло всего пять строк кода, а полноценный эксплойт был завершён менее чем за день.
Дженкинс сообщил об уязвимости в VPU 24 ноября 2025 года. Программа вознаграждения за обнаружение уязвимостей Android (Android VRP) присвоила ей уровень опасности "Высокий" - это шаг вперёд по сравнению с похожей проблемой в BigWave, которую изначально оценили как "Среднюю", несмотря на идентичные последствия. Google выпустил исправление через 71 день, в февральском бюллетене безопасности Pixel. Это первый случай, когда патч для драйвера Android, найденного Дженкинсом, был выпущен менее чем за 90 дней.
Данный пример подчёркивает две параллельные тенденции. С одной стороны, конвейер Google по анализу и исправлению серьёзных дефектов в драйверах явно улучшается. С другой - в коде драйверов, поддерживаемых производителями устройств, по-прежнему находятся поверхностные, легко выявляемые уязвимости. Project Zero настаивает на том, что систематическое безопасное программирование, активные аудиты драйверов и более жёсткие практики разработки остаются необходимыми, если производители оригинального оборудования хотят останавливать подобные цепочки нуль-клик атак до того, как они достигают пользователей.
Ссылки
- https://projectzero.google/2026/05/pixel-10-exploit.html
- https://www.cve.org/CVERecord?id=CVE-2025-54957
- https://professional.dolby.com/siteassets/pdfs/dolby-security-advisory-CVE-2025-54957-Oct-14-25.pdf