Исследователи из компании Oversecured обнаружили многочисленные уязвимости в различных приложениях и системных компонентах устройств Xiaomi и Google, работающих под управлением Android. По словам экспертов, эти баги дают доступу к произвольным операциям, ресиверам и сервисам с системными привилегиями, чреваты кражей произвольных файлов, а также утечкой данных устройства, настроек и учетной записи.
Xiaomi
В Oversecured сообщают, что 20 уязвимостей затрагивают различные приложения и компоненты Xiaomi, включая:
- Gallery (com.miui.gallery);
- GetApps (com.xiaomi.mipicks);
- Mi Video (com.miui.videoplayer);
- MIUI Bluetooth (com.xiaomi.bluetooth);
- Phone Services (com.android.phone);
- Print Spooler (com.android.printspooler);
- Security (com.miui.securitycenter);
- Security Core Component (com.miui.securitycore);
- Settings (com.android.settings);
- ShareMe (com.xiaomi.midrop);
- System Tracing (com.android.traceur);
- Xiaomi Cloud (com.miui.cloudservice).
Отмечается, что Phone Services, Print Spooler, Settings и System Tracing являются легитимными компонентами из Android Open Source Project (AOSP), но они были модифицированы китайским производителем для добавления дополнительной функциональности, что и привело к появлению обнаруженных недостатков.
Среди наиболее значимых проблем, найденных исследователями, можно отметить инъекцию шелл-команд, затрагивающую приложение System Tracing, а также ошибки в приложении Settings, которые могли привести к хищению произвольных файлов, а также утечке через намерения (intent) информации об устройствах Bluetooth, подключенных сетях Wi-Fi и экстренных контактах.
Также был обнаружен баг, связанный с повреждением памяти в приложении GetApps, которое, в свою очередь, берет начало от Android-библиотеки LiveEventBus. По словам Oversecured, сопровождающим проекта сообщили о проблеме больше года назад, однако она до сих пор не устранена.
Oversecured пишет, что уведомила Xiaomi об уязвимостях в конце апреля 2023 года, и к настоящему времени все проблемы уже устранены. Теперь пользователям рекомендуется как можно скорее установить последние обновления для защиты от потенциальных рисков.
Интересно, что помимо перечисленного исследователи обнаружили еще шесть уязвимостей в ОС Google в целом. Две из них характерны для устройств Pixel, а остальные четыре затрагивают любые Android-устройства. Однако в настоящее время все упоминания Google удалены из отчета, из-за того, что как минимум одна из уязвимостей до сих пор не исправлена.
Google так же столкнулась с проблемами после модификации кода AOSP. Так, приложение Settings в смартфонах Pixel использовало незадекларированные разрешения при добавлении компонентов в файл AndroidManifest.xml. Это «позволяет злоумышленнику изменить списки операторских приложений и приложений для обхода VPN». В Oversecured подчеркивают, что только системные приложения могут избегать VPN таким образом.
«Это очень характерно для Android. На самом деле, огромное заблуждение, что Android — операционная система с открытым исходным кодом. Да, часть кода находится в открытом доступе, но даже Google не использует AOSP в первоначальном виде и его модифицирует для выпуска своих устройств. Я бы сказал, что устройства Pixel на 50% используют AOSP, а остальное — закрытый код. Для остальных производителей Android этот процент меньше», — рассказывает глава Oversecured Сергей Тошин.
В итоге проблемы, связанные с Google и Pixel, выглядят следующим образом:
- CVE-2024-0017, исправлено 20 декабря 2023 года — способ получить доступ к геолокации пользователя через камеру;
- CVE нет, обнаружено 4 ноября 2023 года — способ доступа к произвольным файлам через функцию выбора файлов в компонентах WebView;
- CVE нет, исправлено в Pixel в декабре 2023 года — дефект приложения Settings, позволяющий добавлять системные приложения в список обхода VPN;
- CVE нет, обнаружено 18 августа 2022 года — некорректная проверка привилегий Bluetooth;
- CVE-2023-20963, обнаружено 17 февраля 2022 года, исправлено 1 марта 2023 года — уязвимость, позволявшая получить доступ к произвольным компонентам произвольных приложений, установленных на устройстве;
- CVE-2021-0600, обнаружено 29 января 2021 года, исправлено 24 июня 2021 года — уязвимость HTML-инъекций в приложении Settings на экране запроса администратора устройства.
Издание The Register отмечает, что проблема CVE-2023-20963 активно эксплуатировалась хакерами с 4 марта 2022 года (через две недели после того, как о ней уведомили Google). В Oversecure заявляют, что исправление этой уязвимости не должно было занять у Google так много времени. По данным журналистов, Google действительно узнала о баге еще в 2022 году, но не предпринимала никаких действий около года.
«Если бы они исправили parcel/unparcel уязвимость сразу после нашего предупреждения 17 февраля 2022 года, то Pinduoduo не подверглось бы атаке, — писали исследователи в своем отчете, упоминая китайское приложение Pinduoduo для Android, которое было удалено из Google Play Store в 2023 году из-за уязвимости перед CVE-2023-20963. — Однако Google начала работу над исправлением более чем через год, только когда стало известно об атаках. В итоге проблему исправили 1 марта 2023 года. Мы уважаем инженеров Google, но очевидно, их подход к безопасности нуждается в пересмотре».
В ответ на это представители Google заявили The Register, что хотя в компании стремятся сделать процесс выпуска и установки патчей более быстрым, «в некоторых случаях действительно может потребоваться больше времени, чтобы убедиться, что патч готов к внедрению в экосистему».