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 от блобов даёт о себе знать.
🧬 Связанные инсайты
- Читать далее: Ваш бот для пентеста замолчал: Скрытые пробелы, убивающие вашу безопасность
- Читать далее: Паника Google из-за «утечки» Gmail: 2,5 миллиарда пользователей в безопасности, но фишинг всё ещё бушует
Часто задаваемые вопросы
Что такое CVE-2025-54957?
Некорректная обработка буфера при парсинге skip-буфера в Dolby UDC, ведущая к выполнению кода при декодировании DD+ аудио.
Безопасен ли мой Pixel 9 от 0-click эксплойтов Dolby?
Патч от января 2026 года или позже — проверьте Настройки > Система > Обновление системы. Не пропатчен? Уязвим.
Как работают 0-click атаки на Android Messages?
RCS-аудио автоматически декодируется для транскрипции, попадая на уязвимости до открытия пользователем.