Опубликовано 13 августа 2015 года
К выходу ежемесячного бюллетеня о безопасности Android мы выпустили автоматическое обновление системы безопасности для устройств Nexus и опубликовали образы прошивок Nexus на сайте для разработчиков . Уязвимости устранены в сборке LMY48I и более новых сборках. Мы сообщили партнерам об уязвимостях 25 июня 2015 года или ранее.
Наиболее серьезная из уязвимостей имеет критический уровень и позволяет удаленно выполнять код на пораженном устройстве (например, при работе с электронной почтой, просмотре сайтов в Интернете или обработке медиафайлов MMS).
В таблице ниже перечислены уязвимости, их идентификаторы (CVE) и уровни серьезности. Уровень зависит от того, какой ущерб будет нанесен устройству при атаке с использованием уязвимости, если средства защиты будут отключены разработчиком или взломаны.
Уязвимость | CVE | Уровень серьезности |
---|---|---|
Целочисленное переполнение при обработке атомов MP4 | CVE-2015-1538 | Критический |
Целочисленное антипереполнение при обработке атомов ESDS | CVE-2015-1539 | Критический |
Целочисленное переполнение в libstagefright при обработке атомов tx3g (MPEG4) | CVE-2015-3824 | Критический |
Целочисленное антипереполнение в libstagefright при обработке атомов MPEG4 (covr) | CVE-2015-3827 | Критический |
Целочисленное антипереполнение в libstagefright при обработке 3GPP, если размер меньше 6 | CVE-2015-3828 | Критический |
Целочисленное переполнение в libstagefright при обработке атомов MPEG4 (covr), когда значение chunk_data_size равно SIZE_MAX | CVE-2015-3829 | Критический |
Переполнение буфера в Parse_wave (Sonivox) | CVE-2015-3836 | Критический |
Переполнение буфера в MPEG4Extractor.cpp (libstagefright) | CVE-2015-3832 | Критический |
Переполнение буфера в BpMediaHTTPConnection (mediaserver) | CVE-2015-3831 | Высокий |
Переполнение png_Read_IDAT_data (libpng) | CVE-2015-0973 | Высокий |
Удаленная эксплуатация переполнения memcpy() в p2p_add_device() (wpa_supplicant) | CVE-2015-1863 | Высокий |
Нарушение целостности информации в памяти при десериализации OpenSSLX509Certificate | CVE-2015-3837 | Высокий |
Переполнение буфера в BnHDCP (mediaserver) | CVE-2015-3834 | Высокий |
Переполнение буфера в OMXNodeInstance::emptyBuffer (libstagefright) | CVE-2015-3835 | Высокий |
Переполнение кучи в AudioPolicyManager::getInputForAttr() (mediaserver) | CVE-2015-3842 | Высокий |
Перехват и имитация SIM-команд | CVE-2015-3843 | Высокий |
Демаршалинг Bitmap | CVE-2015-1536 | Средний |
AppWidgetServiceImpl может создать IntentSender с системными привилегиями | CVE-2015-1541 | Средний |
Обход ограничения на использование getRecentTasks() | CVE-2015-3833 | Средний |
ActivityManagerService.getProcessRecordLocked() может загрузить неверный процесс для системного UID-приложения | CVE-2015-3844 | Средний |
Чтение данных буфера в libstagefright при обработке метаданных 3GPP | CVE-2015-3826 | Низкий |
Ниже рассказывается, как платформа безопасности и средства защиты сервисов, например SafetyNet, позволяют снизить вероятность атак на Android.
Благодарим всех, кто помог обнаружить уязвимости:
*Мы также награждаем Виш Ву первым призом Android Security Rewards !
При обработке атомов MP4 в libstagefright могут возникать целочисленные переполнения, которые позволяют нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям. Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-1538 | ANDROID-20139950 [ 2 ] | Критический | 5.1 и ниже |
При обработке блоков ESDS в libstagefright может возникнуть целочисленное антипереполнение, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям. Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-1539 | ANDROID-20139950 | Критический | 5.1 и ниже |
При обработке атомов tx3g (MPEG4) в libstagefright может возникнуть целочисленное переполнение, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям.
Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3824 | ANDROID-20923261 | Критический | 5.1 и ниже |
При обработке MPEG4 в libstagefright может возникнуть целочисленное антипереполнение, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям.
Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3827 | ANDROID-20923261 | Критический | 5.1 и ниже |
При обработке 3GPP в libstagefright может возникнуть целочисленное антипереполнение, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям. Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3828 | ANDROID-20923261 | Критический | 5.0 и выше |
При обработке атомов covr (MPEG4) в libstagefright может возникнуть целочисленное переполнение, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям. Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3829 | ANDROID-20923261 | Критический | 5.0 и выше |
При обработке XMF в Sonivox может возникнуть переполнение буфера, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям. Согласно старым правилам, этой уязвимости ранее присваивался высокий уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3836 | ANDROID-21132860 | Критический | 5.1 и ниже |
При обработке MP4 в libstagefright могут возникать переполнения буфера, которые позволяют нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Многие приложения позволяют контенту, особенно MMS-сообщениям и воспроизводимым в браузере медиафайлам, дистанционно обращаться к ней.
Уязвимости присвоен критический уровень из-за возможности удаленного выполнения кода от имени привилегированного сервиса (mediaserver). Этот сервис защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Такие данные недоступны сторонним приложениям.
Изначально мы сообщали, что этой уязвимостью нельзя воспользоваться удаленно. Согласно старым правилам, этой уязвимости ранее присваивался средний уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей критический уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3832 | ANDROID-19641538 | Критический | 5.1 и ниже |
При обработке данных, предоставленных другим приложением, в BpMediaHTTPConnection может возникнуть переполнение буфера. Это позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимая функция является частью API. Мы считаем, что ее нельзя использовать удаленно.
Уязвимости присвоен высокий уровень из-за возможности выполнения кода от имени привилегированного сервиса (mediaserver) через приложение, установленное на устройстве. Сервис mediaserver защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Эти данные недоступны сторонним приложениям.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3831 | ANDROID-19400722 | Высокий | 5.0 и 5.1 |
При чтении данных IDAT в функции png_read_IDAT_data() в libpng может возникнуть переполнение буфера, которое позволяет нарушить целостность информации в памяти и удаленно выполнить код в приложении, используя этот метод.
Уязвимая функция является частью API. Возможно, некоторые приложения, такие как сервисы обмена сообщениями и браузеры, позволяют контенту дистанционно обращаться к ней.
Уязвимости присвоен высокий уровень серьезности из-за возможности удаленного выполнения кода от имени приложения без расширенных прав доступа.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-0973 | ANDROID-19499430 | Высокий | 5.1 и ниже |
Когда процесс wpa_supplicant находится в режиме WLAN Direct, в нем можно удаленно выполнять код из-за переполнения в методе p2p_add_device(). В результате успешной атаки может выполняться произвольный код от имени пользователя wifi.
Предотвратить атаку могут следующие меры:
– Функция WLAN Direct по умолчанию отключена на большинстве устройств Android.
– Злоумышленник не может произвести атаку, если находится вне диапазона действия Wi-Fi.
– Процесс wpa_supplicant выполняется от имени пользователя wifi (его доступ к системе ограничен).
– Дистанционная атака предотвращается с помощью ASLR на устройствах с Android 4.1 и выше.
– Права процесса wpa_supplicant ограничены политикой SELinux на Android 5.0 и выше.
Уязвимости присвоен высокий уровень серьезности из-за возможности удаленного выполнения кода. У пользователя wifi есть права, которые обычно недоступны сторонним приложениям, но мы считаем, что уязвимость не критическая: возможности для атаки ограничены, а также существуют меры ее предотвращения.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-1863 | ANDROID-20076874 | Высокий | 5.1 и ниже |
Вредоносное приложение, установленное на устройстве, может отправить алгоритм в другое приложение. После того как алгоритм будет десериализирован, он может уменьшить значение в произвольном адресе ячейки памяти, что позволяет нарушить целостность информации в памяти и выполнить код в конечном приложении.
Уязвимости присвоен высокий уровень серьезности, поскольку с ее помощью можно получить привилегии, недоступные сторонним приложениям.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3837 | ANDROID-21437603 | Высокий | 5.1 и ниже |
При обработке данных, предоставленных другим приложением, в libstagefright может возникнуть переполнение буфера. Это позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимости присвоен высокий уровень серьезности, поскольку с ее помощью можно получить привилегии, недоступные сторонним приложениям. Сервис mediaserver защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Эти данные недоступны сторонним приложениям.
Согласно старым правилам, этой уязвимости ранее присваивался средний уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей высокий уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3834 | ANDROID-20222489 | Высокий | 5.1 и ниже |
При обработке данных, предоставленных другим приложением, в libstagefright может возникнуть переполнение буфера. Это позволяет нарушить целостность информации в памяти и удаленно выполнить код от имени процесса mediaserver.
Уязвимости присвоен высокий уровень серьезности, поскольку с ее помощью можно получить привилегии, недоступные сторонним приложениям. Сервис mediaserver защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Эти данные недоступны сторонним приложениям.
Согласно старым правилам, этой уязвимости ранее присваивался средний уровень серьезности. По новым правилам, опубликованным в июне 2015 года, мы присвоили ей высокий уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3835 | ANDROID-20634516 [ 2 ] | Высокий | 5.1 и ниже |
Переполнение кучи в сервисе audio policy в mediaserver позволяет приложению, установленному на устройстве, выполнять произвольный код в процессе mediaserver.
Уязвимая функция является частью API. Мы считаем, что ее нельзя использовать удаленно.
Уязвимости присвоен высокий уровень из-за возможности выполнения кода от имени привилегированного сервиса (mediaserver) через приложение, установленное на устройстве. Сервис mediaserver защищен SELinux, однако у него есть доступ к аудио- и видеопотокам, а также к узлам устройства из драйвера ядра. Эти данные недоступны сторонним приложениям.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3842 | ANDROID-21953516 | Высокий | 5.1 и ниже |
Уязвимость фреймворка SIM Toolkit позволяет приложениям перехватывать и имитировать определенные SIM-команды при связи с подсистемой Telephony.
Уязвимости присвоен высокий уровень серьезности. С ее помощью приложение без расширенных прав может получить доступ к данным, защищенным разрешениями уровня signature (подпись) и system (система).
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3843 | ANDROID-21697171 [ 2 , 3 , 4 ] | Высокий | 5.1 и ниже |
Целочисленное переполнение Bitmap_createFromParcel() позволяет приложению либо вызвать сбой процесса system_server, либо читать данные в памяти system_server.
Уязвимости присвоен средний уровень серьезности из-за возможной утечки конфиденциальных данных из процесса system_server в локальный процесс без расширенных прав. Таким уязвимостям обычно присваивается высокий уровень серьезности, однако полученные при атаке данные нельзя контролировать с помощью атакующего процесса. Злоумышленник может лишь временно вывести устройство из строя. Эту проблему решает перезагрузка.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-1536 | ANDROID-19666945 | Средний | 5.1 и ниже |
Уязвимость AppWidgetServiceImpl в Настройках позволяет приложению самостоятельно предоставить себе разрешение URI, указав FLAG_GRANT_READ/WRITE_URI_PERMISSION. Например, в результате злоумышленник может читать данные контактов без разрешения READ_CONTACTS.
Уязвимости присвоен средний уровень серьезности. С ее помощью приложение на устройстве может получить доступ к данным, защищенным разрешениями уровня dangerous (опасно).
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-1541 | ANDROID-19618745 | Средний | 5.1 |
Приложение на устройстве может найти активное приложение в обход ограничения на использование getRecentTasks(), введенного в Android 5.0.
Уязвимости присвоен средний уровень серьезности. С ее помощью приложение на устройстве может получить доступ к данным, защищенным разрешениями уровня dangerous (опасно).
Мы считаем, что об этой уязвимости впервые написали здесь: http://stackoverflow.com/questions/24625936/getrunningtasks-doesnt-work-in-android-l
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3833 | ANDROID-20034603 | Средний | 5.0 и 5.1 |
Метод getProcessRecordLocked() в ActivityManager не подтверждает должным образом, что название приложения совпадает с именем пакета. В некоторых случаях это может привести к тому, что ActivityManager загрузит неверный процесс для определенных задач.
В результате приложение может препятствовать загрузке Настроек или добавлять параметры во фрагменты Настроек. Мы считаем, что это уязвимость не позволяет выполнять произвольный код от имени пользователя system.
Если уязвимость позволяет получить возможности, доступные только пользователю system, ей обычно присваивается высокий уровень серьезности. Поскольку в этом случае доступ ограничен, мы указали средний уровень.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3844 | ANDROID-21669445 | Средний | 5.1 и ниже |
Целочисленное переполнение при обработке данных 3GPP может привести к выполнению операции чтения, перегружающей буфер и вызывающей сбой процесса mediaserver.
Изначально этой уязвимости был присвоен высокий уровень серьезности. Однако после тщательной проверки мы выяснили, что последствия сводятся только к сбою mediaserver, и изменили уровень на низкий.
CVE | Ошибки со ссылками на AOSP | Уровень серьезности | Уязвимые версии |
---|---|---|---|
CVE-2015-3826 | ANDROID-20923261 | Низкий | 5.0 и 5.1 |