CVE-2019-2215

Android Android Kernel

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2021-11-03

Официальное описание

Android Kernel contains a use-after-free vulnerability in binder.c that allows for privilege escalation from an application to the Linux Kernel. This vulnerability was observed chained with CVE-2020-0041 and CVE-2020-0069 under exploit chain "AbstractEmu."

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость типа use-after-free в драйвере binder ядра Android. Локальный злоумышленник, используя специально созданное приложение, может спровоцировать освобождение памяти, а затем повторно использовать (use-after-free) этот участок памяти через сохранённый указатель. Это приводит к выполнению произвольного кода в контексте ядра, что позволяет повысить привилегии до уровня суперпользователя (root) и обойти все песочницы.

Как исправить

Уязвимость исправлена в патчах безопасности для ядра Linux. Для Android необходимо установить обновление безопасности, содержащее исправленное ядро.

  1. Для устройств под управлением Android (Google, Samsung, Xiaomi и др.):

  2. Для системных администраторов, развертывающих кастомные сборки Android (AOSP):

    • Внесите указанные выше коммиты в исходный код вашего ядра.
    • Пересоберите и перепрошейте образ системы.
  3. Проверка установки патча:

    • На устройстве перейдите в Настройки → О телефоне → Версия Android → Уровень обновления безопасности.
    • Убедитесь, что указана дата 1 ноября 2019 года или новее.

Временное решение

Прямых временных решений (workaround) для конечных пользователей не существует, так как уязвимость эксплуатируется локально через установку вредоносного приложения.

Меры для снижения риска до получения обновления:

  1. Ограничение установки приложений:

    • Запретите установку приложений из неизвестных источников (Настройки → Безопасность → Неизвестные источники).
    • Установите и используйте только приложения из официального магазина Google Play.
  2. Мониторинг и обнаружение (для корпоративных устройств под управлением MDM/EMM):

    • Используйте мобильное решение для защиты от угроз (MTD), которое может обнаруживать попытки эксплуатации уязвимостей уровня ядра.
    • Настройте политики MDM на блокировку устройств с устаревшим уровнем обновления безопасности.
  3. Для разработчиков ядер/прошивок:

    • Рассмотрите возможность отключения драйвера binder в конфигурации ядра, если это не нарушит работу системы (крайняя мера, так как это сломает работу большинства Android-сервисов).