Уязвимост в Android софтуер, позволяваща изпълнение на код чрез изпращане на съобщение

Изследователите от екипа на Google Project Zero подробно анализираха техниката за създаване на работещ експлоит, който позволява отдалечено изпълнение на собствен код с права на ядрото на Linux, чрез изпращане на SMS или RCS съобщение със специално оформено звуково вложение. Атаката се извършва без извършване на каквито и да било действия от потребителя, включително не изисква преглед или прослушване на полученото съобщение.

В експлоита са ангажирани две уязвимости: в библиотеката Dolby Unified Decoder (CVE-2025-54957) и драйвера bigwave за ядрото на Linux (CVE-2025-36934). Преди за експлоатиране на уязвимостите в кодеците беше необходимо потребителят да прослуша или прегледа получения злонамерен контент. След интегрирането на AI помощници в последните версии на Android софтуера полученото мултимедийно съдържание автоматично се декодира след получаване, което значително увеличава повърхността на атаките, които не изискват действия от потребителя (0-click). В контекста на звуковите SMS и RCS съобщения приложението Google Messages с помощта на услугата com.google.android.tts автоматично формулира транскрипция за приложение към звуковите съобщения при текстово търсене, което позволява без участието на потребителя да се експлоатират уязвимостите в наличните звукови кодеци.

Проблемът в Dolby Unified Decoder е предизвикан от препълване на цяло число при изчисляване на размера на буфера за обработваните структури данни syncframe, което може да се използва за запис извън определения буфер. В резултат на препълването може да бъде презаписан указателят, използван при обработката на следващия синхронизиращ кадър, чието изменение, от своя страна, позволява да се презапише указателя на функцията с контролирани от атакуващия данни и да се организира изпълнение на собствен код с права „mediacodec“, ограничени от SELinux.

За експлоатирането на ядрото на Linux беше ангажирана уязвимост в драйвера bigwave, отговарящ за работата с символичното устройство /dev/bigwave, до което беше осигурен достъп от SELinux контекста „mediacodec“. Уязвимостта позволявала презаписване на ядрови структури чрез манипулации с ioctl повикването BIGO_IOCX_PROCESS и постигане на изпълнение на код с права на ядрото.

Уязвимост в библиотеката Dolby Unified Decoder (libcodec2_soft_ddpdec.so), предоставяща функции за декодиране на формати Dolby Digital (DD, AC-3) и Dolby Digital Plus (DD+, EAC-3), не е специфична за Android и фърмуера на Pixel 9, а също така се проявява на други платформи (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS и т.н.). В Android хранилището AOSP и фърмуера на Samsung S24 към процесите, стартирани в контекста на mediacodec, се прилага seccomp-филтър на системните повиквания, затрудняващ по-нататъшната експлоатация на уязвимостите в ядрото. В фърмуера за Pixel 9 подобен филтър липсва. атаки би могъл да защити механизмът Memory Tagging (MTE), но той е наличен за устройства Pixel 8+ само под формата на опция, активирана при включване на режима „Advanced Protection. В macOS и iOS експлоатацията е затруднена от компилацията на библиотеката с флага „-fbounds-safet“, който внедрява допълнителни проверки за излизаща извън границите на масивите, което намалява производителността.

Изследователите разглеждат отделно проблемите с доставянето на поправки за уязвимостта в Dolby Unified Decoder на потребителите. Информацията за уязвимостта беше разкрита публично 82 дни преди доставянето на поправка на потребителите на устройства Pixel. Компанията Dolby беше информирана за проблема на 26 юни 2025 година. Първото бинарно поправка беше издадена на 18 септември за ChromeOS, но за устройства Android компанията Dolby предостави бинарни пачове едва на 8 октомври. На 15 октомври беше публично разкрита информация за уязвимостта. На 12 ноември Samsung издаде поправка, а само на 5 януари беше публикувано решение за устройства Pixel. Разпространението на пача за всички Android устройства изискваше 139 дни.

Уязвимост в Dolby Unified Decoder беше открита за по-малко от два дни, а в драйвера BigWave – за по-малко от ден. Разходите за разработка на работещ експлоит за уязвимостта в Dolby Unified Decoder са оценени на 8 седмици с усилията на един изследовател, а за BigWave – 3 седмици. В публикувания на 14 октомври доклад на Dolby, уязвимостта в Dolby Unified Decoder беше обозначена с незначителен опасен статус, въпреки предаването на детайли относно разработваното експлоит. Уязвимостите в BigWave получиха среден статус на опасност (Moderate) в Android, мотивирано с факта, че атаката е възможна само от привилегировано съдържание и не е достъпна за непривилегировани контексти (три месеца по-късно статусът на уязвимостта беше променен на „опасен проблем“).

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster