Разработчики мобильных приложений часто сталкиваются с ситуацией, когда вредоносный код внедряется не через приложение, а через обычное сообщение — SMS или RCS. Устройства, которые ранее считались безопасными, теперь могут быть подвержены атакам, не требующим никаких действий пользователя: от просмотра до прослушивания. В этом случае вредоносный код запускается автоматически, как только сообщение приходит, без необходимости открытия или взаимодействия с ним.
Что это такое?
Это уязвимость в системе обработки звуковых сообщений Android, позволяющая злоумышленнику запустить произвольный код с правами ядра без каких-либо действий пользователя. Атака происходит при получении SMS или RCS-сообщения с вложенным звуковым файлом. Приложение Google Messages автоматически декодирует звук и транскрибирует его в текст, используя встроенный сервис com.google.android.tts. В ходе этого процесса система обрабатывает звуковые данные через библиотеки, которые содержат уязвимости — и именно там и происходит запуск вредоносного кода.
Как это работает?
Атака состоит из двух этапов, каждый из которых использует существующую уязвимость в отдельных компонентах системы.
На первом этапе злоумышленник использует уязвимость в библиотеке Dolby Unified Decoder (CVE-2025-54957). При декодировании звуковых данных, особенно в форматах Dolby Digital или Dolby Digital Plus, библиотека вычисляет размер буфера для хранения данных. При обработке некорректных структур данных может произойти целочисленное переполнение — число превышает допустимый лимит. Это позволяет перезаписать указатель на следующий синхронизирующий кадр. Указатель, который обычно используется для управления потоком данных, теперь может быть изменён атакующим, что позволяет перенаправить выполнение кода в произвольную позицию в памяти. Запускается код с правами доступа «mediacodec», ограниченными SELinux, но достаточными для выполнения вредоносных действий.
На втором этапе атака расширяется в ядро Linux. Уязвимость в драйвере bigwave (CVE-2025-36934) позволяет перезаписать структуры ядра через специальный системный вызов ioctl — BIGO_IOCX_PROCESS. Драйвер отвечает за работу с символьным устройством /dev/bigwave, к которому доступ имеет контекст «mediacodec». Атакующий использует перезаписанный указатель для выполнения произвольного кода с полными правами ядра. Это позволяет не только запустить вредоносный скрипт, но и получить контроль над системой, включая доступ к файлам, сетевым соединениям и другим ресурсам.
Ключевое отличие от старых атак — здесь пользователь ничего не делает. Сообщение приходит, система его автоматически обрабатывает, а вредоносный код запускается без его ведома.
Какие преимущества?
Для злоумышленника это атака с минимальными затратами и высокой эффективностью. Она не требует от пользователя никаких действий — даже не нужно открывать сообщение. Это делает атаку масштабируемой и трудно обнаруживаемой. Кроме того, такая атака может быть использована в массовых атаках на устройства, особенно в условиях, где пользователи не проверяют содержимое полученных сообщений.
- Атака не требует участия пользователя — даже не нужно прослушивать или открыть сообщение.
- Декодирование звуковых сообщений происходит автоматически в современных версиях Android.
- Используются уже существующие компоненты системы — Dolby и драйвер bigwave — без необходимости создания новых вредоносных приложений.
- Разработка эксплоита может быть выполнена в течение нескольких недель при наличии доступа к системе.
Какие ограничения или минусы?
Несмотря на высокую эффективность, атака имеет ряд ограничений. Во-первых, она не работает на всех устройствах. Например, на Samsung S24 и MacBook Air M1 уязвимость в Dolby Decoder может быть частично ослаблена за счёт включения seccomp-фильтров, которые блокируют системные вызовы, потенциально опасные для эксплуатации. Во-вторых, в macOS и iOS включение флага -fbounds-safet в компиляции снижает производительность, но защищает от переполнения буферов.
Другой серьёзный минус — скорость реакции на уязвимость. Уязвимость в Dolby Decoder была раскрыта 82 дня до того, как пользователи получили исправление. На устройствах Pixel исправление появилось лишь через 139 дней после раскрытия. Это означает, что в течение почти полугода устройства оставались под угрозой без защиты.
Кроме того, компания Dolby оценивала уязвимость как «незначительную», несмотря на наличие рабочего эксплоита. Это может указывать на недостаточную оценку рисков в процессе анализа безопасности.
Стоит ли защищаться?
Такая атака не является инструментом для использования в реальных сценариях, а представляет собой серьёзный риск для безопасности устройств. Однако она должна быть учтена при проектировании систем обработки медиа-данных.
Рекомендуется включить защиту на уровне библиотек и драйверов: использовать проверки на выход за границу массивов, включать seccomp-фильтры для критических процессов, активировать механизмы Memory Tagging (MTE) на устройствах Pixel 8 и выше. Также необходимо убедиться, что приложения, обрабатывающие звуковые сообщения, не используют встроенные сервисы транскрипции без дополнительных проверок безопасности.
Для производителей — внедрение автоматических проверок при обработке ввода в медиа-декодерах и драйверах. Важно проводить регулярные аудиты на предмет уязвимостей в библиотеках сторонних поставщиков, особенно тех, что интегрируются в стандартные приложения.














