XDA Developers: Google почти год не замечал уязвимость, которая затрагивает миллионы устройств с чипсетами от MediaTek

imageФото: MediaTek/Flickr

Ресурс XDA Developers сообщил о критической уязвимости, которую разработчики обнаружили еще в апреле 2019 года. Однако Google упомянула ее впервые только в бюллетене по безопасности Android за март 2020 года.

Уязвимость CVE-2020–0069, критический эксплойт безопасности, затрагивает миллионы устройств с чипсетами от MediaTek, крупной тайваньской компании. Несмотря на то, что MediaTek выпустила исправление через месяц после обнаружения уязвимости, она все еще присутствует на десятках моделей устройств. Всего в список уязвимых попали 93 модели. При этом уязвимость активно используется хакерами, утверждает ресурс. MediaTek обратился к Google, чтобы устранить этот пробел.

Пользователь под псевдонимом Diplomatic на форуме XDA ранее опубликовал скрипт, который использовал данную уязвимость для временного получения прав root на планшетах Amazon Fire. Среди уязвимых чипов MediaTekавтор называл MT6735, MT6737, MT6738, MT6739, MT6750, MT6753, MT6755, MT6757, MT6758, MT6761, MT6762 MT6763, MT6765, MT6771, MT6779, MT6795, MT6797, MT6799, MT8163, MT8167, MT8173, MT8176, MT8183, MT6580 и MT6595.

Уязвимость позволяет вредоносному приложению устанавливать любое ПО, а также менять права для существующих приложений и получать доступ к личным данным. Проблема в том, что чипы MediaTek зачастую используются в устройствах среднего или начального уровня, а их производители не обладают ресурсами, чтобы предложить обновление. В отчете TrendMicro утверждалось, что несколько приложений из магазина Play Store для получения доступа root использовали такие эксплойты, как MediaTek-su или CVE-2019–2215. Но эти приложения так и не были удалены.

Чтобы проверить свое устройство на уязвимость, нужно запустить оригинальный root-скрипт из XDA. Если удастся войти в оболочку root, значит эксплойт работает.

imageФото: www.xda-developers.com

Diplomatic описывал сценарий, который пользователи могут выполнить, чтобы получить доступ суперпользователя в оболочке, а также установил SELinux, модуль ядра Linux, который обеспечивает управление доступом для процессов, в крайне небезопасное «разрешающее» состояние. Для пользователя получить root-доступ оказалось легко: нужно скопировать скрипт во временную папку, изменить каталоги, в которых хранится скрипт, добавить исполняемые разрешения для сценария, а затем выполнить сценарий.

Члены сообщества XDA подтвердили, что эксплойт работает как минимум на следующих устройствах:

  • Acer Iconia One 10 B3-A30
  • Acer Iconia One 10 B3-A40
  • Alba tablet series
  • Alcatel 1 5033 series
  • Alcatel 1C
  • Alcatel 3L (2018) 5034 series
  • Alcatel 3T 8
  • Alcatel A5 LED 5085 series
  • Alcatel A30 5049 series
  • Alcatel Idol 5
  • Alcatel/TCL A1 A501DL
  • Alcatel/TCL LX A502DL
  • Alcatel Tetra 5041C
  • Amazon Fire 7 2019 — up to Fire OS 6.3.1.2 build 0002517050244 only
  • Amazon Fire HD 8 2016 — up to Fire OS 5.3.6.4 build 626533320 only
  • Amazon Fire HD 8 2017 — up to Fire OS 5.6.4.0 build 636558520 only
  • Amazon Fire HD 8 2018 — up to Fire OS 6.3.0.1 only
  • Amazon Fire HD 10 2017 — up to Fire OS 5.6.4.0 build 636558520 only
  • Amazon Fire HD 10 2019 — up to Fire OS 7.3.1.0 only
  • Amazon Fire TV 2 — up to Fire OS 5.2.6.9 only
  • ASUS ZenFone Max Plus X018D
  • ASUS ZenPad 3s 10 Z500M
  • ASUS ZenPad Z3xxM (F) MT8163-based series
  • Barnes & Noble NOOK Tablet 7″ BNTV450 & BNTV460
  • Barnes & Noble NOOK Tablet 10.1″ BNTV650
  • Blackview A8 Max
  • Blackview BV9600 Pro (Helio P60)
  • BLU Life Max
  • BLU Life One X
  • BLU R1 series
  • BLU R2 LTE
  • BLU S1
  • BLU Tank Xtreme Pro
  • BLU Vivo 8L
  • BLU Vivo XI
  • BLU Vivo XL4
  • Bluboo S8
  • BQ Aquaris M8
  • CAT S41
  • Coolpad Cool Play 8 Lite
  • Dragon Touch K10
  • Echo Feeling
  • Gionee M7
  • HiSense Infinity H12 Lite
  • Huawei GR3 TAG-L21
  • Huawei Y5II
  • Huawei Y6II MT6735 series
  • Lava Iris 88S
  • Lenovo C2 series
  • Lenovo Tab E8
  • Lenovo Tab2 A10–70F
  • LG K8+ (2018) X210ULMA (MTK)
  • LG K10 (2017)
  • LG Tribute Dynasty
  • LG X power 2/M320 series (MTK)
  • LG Xpression Plus 2/K40 LMX420 series
  • Lumigon T3
  • Meizu M5c
  • Meizu M6
  • Meizu Pro 7 Plus
  • Nokia 1
  • Nokia 1 Plus
  • Nokia 3
  • Nokia 3.1
  • Nokia 3.1 Plus
  • Nokia 5.1
  • Nokia 5.1 Plus/X5
  • Onn 7″ Android tablet
  • Onn 8″ & 10″ tablet series (MT8163)
  • OPPO A5s
  • OPPO F5 series/A73 — Android 8.x only
  • OPPO F7 series — Android 8.x only
  • OPPO F9 series — Android 8.x only
  • Oukitel K12
  • Protruly D7
  • Realme 1
  • Sony Xperia C4
  • Sony Xperia C5 series
  • Sony Xperia L1
  • Sony Xperia L3
  • Sony Xperia XA series
  • Sony Xperia XA1 series
  • Southern Telecom Smartab ST1009X (MT8167)
  • TECNO Spark 3 series
  • Umidigi F1 series
  • Umidigi Power
  • Wiko Ride
  • Wiko Sunny
  • Wiko View3
  • Xiaomi Redmi 6/6A series
  • ZTE Blade A530
  • ZTE Blade D6/V6
  • ZTE Quest 5 Z3351S.


Единственный «недостаток» MediaTek-su заключается в том, что уязвимость предоставляет приложению только «временный» root-доступ, что означает, что права суперпользователя теряются после перезагрузки устройства. Кроме того, на устройствах под управлением Android 6.0 Marshmallow и выше есть режим «проверенной загрузки» для борьбы с руткитами, который реализован через функцию device-mapper-verity (dm-verity). Она проверяет конфигурацию устройства во время загрузки. Однако опытные взломщики могут преодолеть ограничения, а вредоносное приложение будет просто повторно запускать скрипт MediaTek-su при каждой загрузке.

Недостаток, очевидно, существует в одном из драйверов ядра Linux MediaTek под названием «CMDQ»:

imageФото: www.xda-developers.com

MediaTek заявил, что эта уязвимость затрагивает устройства с ядром Linux версий 3.18, 4.4, 4.9 или 4.14 под управлением Android версии 7 Nougat, 8 Oreo или 9 Pie. Уязвимость не может использоваться на устройствах MediaTek под управлением Android 10, по-видимому, поскольку «разрешение доступа к узлам устройств CMDQ также обеспечивается SELinux».

Фактически только Google теперь может заставить производителей обновлять свои устройства с помощью лицензионных соглашений или условий программы (например, Android One). Чтобы производитель заявлял, что устройство соответствует уровню исправления безопасности (SPL) 2020–03–05, устройство должно включать все исправления инфраструктуры, ядра Linux и соответствующих драйверов поставщиков из бюллетеня по безопасности Android от марта 2020 года, в том числе и исправление для CVE-2020–0069 или MediaTek-su.

См. также:

© Habrahabr.ru