Vulnerabilities & CVEs

Эксплойт 0-Click для Pixel 9: Декодируем уязвимость Dolby

Вредоносный аудиофайл попадает на ваш Pixel 9. Никаких нажатий не требуется — декодирование уже идет, открывая дверь в ад. Project Zero опубликовал чертежи.

{# Always render the hero — falls back to the theme OG image when article.image_url is empty (e.g. after the audit's repair_hero_images cleared a blocked Unsplash hot-link). Without this fallback, evergreens with cleared image_url render no hero at all → the JSON-LD ImageObject loses its visual counterpart and LCP attrs go missing. #}
Схема цепочки эксплойтов Dolby на Pixel 9, показывающая поток от syncframe к выполнению кода

Key Takeaways

  • Project Zero собрал цепочку 0-click эксплойтов для Pixel 9 от декодера Dolby до root-доступа в ядре.
  • AI-функции обработки медиа в Android значительно расширяют поверхность 0-click атак через автодекодирование.
  • Производители должны уделять первоочередное внимание патчам для медиа и драйверов; бинарные блобы слишком долго скрывают уязвимости.

Syncframe врывается в Dolby Unified Decoder. Бум. Выполнение произвольного кода в контексте mediacodec, Pixel 9 взломан — ноль кликов.

Google Messages теперь автоматически декодирует входящие RCS-аудиовложения, новая «фича» для транскрипции, которая значительно увеличивает поверхность 0-click атак на Android-смартфоны. Производители тупо поставляют этот Dolby-«блин», статически вшитый в libcodec2_soft_ddpdec.so на Pixel 9. Команда Project Zero — Мэдди Стоун, Иван Фратрич, Сет Дженкинс — не просто нашли баги. Они связали их в полный эксплойт, доказав скептикам, что те ошибались.

Ночной кошмар Pixel 9: CVE-2025-54957 в Dolby

DD+ битовый поток. Syncframes. Аудиоблоки. Звучит невинно, верно? Не тут-то было. Спецификация позволяет декодеру копировать до 0x1FF байт за блок в skip-буфер — формат EMDF, синхронизирующийся по ‘X8’. Но если хитро сконструировать этот буфер, парсинг variable_bits полетит к чертям, открывая дорогу переполнению или любому другому хаосу, какой только пожелаете.

Вот сниппет из спецификации, который обрекает всё:

Синтаксис Количество бит
skiple 1
if(skiple)
skipl 9
skipfld 9 * 8
}

Этот skipfld? Прямое чтение из битового потока в буфер. Без проверок. Далее следуют поиски EMDF syncword, но если вы контролируете поток — игра окончена.

Project Zero использовал это для получения кода в изолированном (sandboxed) процессе mediacodec. Не теория. Реальность. И исправлено 5 января 2026 года — слишком поздно для устройств, которые ещё работают на старых патчах.

Короткие абзацы меня утомляют. Этот — плотный: UDC, поставляемый OEM-производителям как бинарный блоб, не имеет символов, скрывает свои внутренности. Стремление Android к автодекодированию — транскрипция ИИ, поиск — означает, что каждый SMS-аудиоклип триггерит его до открытия пользователем. Комбинируем это с багами драйверов, как CVE-2025-36934 (эскалатор ядра Pixel 9), и получаем root-доступ из сообщения. Производители ставили под сомнение эксплуатируемость. Project Zero ответил неопровержимыми доказательствами.

Почему поверхность 0-Click атак Android продолжает расти?

Авто-функции звучат эффектно. Бесшумное декодирование медиа для «умных» возможностей. Но это настоящий шведский стол для атакующих. Monkey’s Audio на Samsung пал первым (CVE-2025-49415). Теперь Dolby везде — Android, iOS, Windows. Пиксели здесь страдают больше всего.

Один удар: изолирован? Конечно. Полезен? Еще бы — для дальнейшего продвижения в ядро.

Вспомним Stagefright, 2015? MMS-видео удалённо взламывали Nexus-устройства. Это звучит громче — повсеместное использование RCS, хайп вокруг ИИ усиливают риски. Защитные механизмы Android — изоляция, верифицированная загрузка — держатся, но медиадекодеры и драйверы создают лазейки. Цепочка Project Zero безжалостно их тестирует.

“Мы надеемся, что это исследование поможет защитникам лучше понять, как такие атаки работают в реальных условиях, сильные и слабые стороны функций безопасности Android в предотвращении подобных атак, а также важность исправления уязвимостей медиа и драйверов на мобильных устройствах.”

Прямо из публикации. Благородно. Но что насчет пиара Google? Патчи вышли через месяцы после обнаружения. Пользователи ждут лотереи OTA-обновлений.

Смогут ли атакующие реально довести это до root?

Часть 2 обещает прыжок в ядро через CVE-2025-36934 — утечку драйвера из песочницы mediacodec. Побеги из песочницы — это не мифы, это математика. Пиксели стали безопаснее после ForcedEntry, но драйверы отстают.

Уникальный угол: это зеркально отражает ранние цепочки NSO, до введения Lockdown-ограничений. Тогда звонки WhatsApp запускали декодеры. Сегодня Messages обрабатывает RCS-аудио. Прогноз: без комплексных исправлений 0-click RCS-эксплойты взлетят в 3 раза к 2027 году, поскольку парсинг медиа для ИИ распространится и на iMessage.

Корпоративные пиарщики называют это «крайними случаями». Чушь. Ежедневно декодируются миллиарды. Один плохой клип — телефон взломан.

Погружаемся глубже. Псевдокод variable_bits:

variable_bits (n_bits) {
    value = 0;
    do {
        value += read n_bits
        read_more 1
        if (read_more) {
            value <<= n_bits;
            value += (1<<n_bits);
        }
    }
    while (read_more);
    return value;
}

Неконтролируемый цикл? Рай для переполнения. EMDF-контейнеры связывают пейлоады — версии, расширения key_id через другие variable_bits. Соберите колоду, разбейте парсер.

На Pixel 9 UDC находится в vendor/lib64. Изолирован, да. Но соседние драйверы? Сет Дженкинс нашел слабое место.

Отрицание производителей рушится

Посыпались вопросы: «Эксплуатируемо? 0-click для обычных пользователей? Полезно после выполнения?» Project Zero построил цепочку. Переход от mediacodec code exec — кража данных, кейлоггинг, эскалация. Платформы должны упрочнять декодеры, изолировать драйверы, отключить автодекодирование по умолчанию.

Юмор в ужасе: Dolby Atmos обещает погружение. Здесь же он погружает атакующих.

Уроки из Части 3 маячат на горизонте. Ожидаем критику мер защиты — зависимость Android от блобов даёт о себе знать.


🧬 Связанные инсайты

Часто задаваемые вопросы

Что такое CVE-2025-54957?

Некорректная обработка буфера при парсинге skip-буфера в Dolby UDC, ведущая к выполнению кода при декодировании DD+ аудио.

Безопасен ли мой Pixel 9 от 0-click эксплойтов Dolby?

Патч от января 2026 года или позже — проверьте Настройки > Система > Обновление системы. Не пропатчен? Уязвим.

Как работают 0-click атаки на Android Messages?

RCS-аудио автоматически декодируется для транскрипции, попадая на уязвимости до открытия пользователем.

Maya Thompson
Written by

Threat intelligence reporter. Tracks CVEs, ransomware groups, and major breach investigations.

Worth sharing?

Get the best Cybersecurity stories of the week in your inbox — no noise, no spam.

Originally reported by Google Project Zero