CVE-2023-20963

Android Framework

ВЕРОЯТНОСТЬ 2.0%

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

2023-04-13

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

Android Framework contains an unspecified vulnerability that allows for privilege escalation after updating an app to a higher Target SDK with no additional execution privileges needed.

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

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

CVE-2023-20963 представляет собой логическую ошибку в Android Framework, связанную с механизмом обновления приложений. Уязвимость позволяет повысить привилегии в системе (Privilege Escalation) без необходимости получения дополнительных разрешений от пользователя.

Проблема возникает в процессе обработки метаданных приложения, когда установленное приложение обновляется до версии с более высоким значением targetSdkVersion. Из-за некорректной валидации состояния разрешений или компонентов в процессе миграции данных пакета, злоумышленник может обойти ограничения безопасности Sandbox и выполнить код с правами более высокого уровня. Уязвимость активно эксплуатировалась в целевых атаках (0-day) до момента выпуска патча.

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

Основным способом устранения уязвимости является установка официального обновления безопасности Android (Security Patch Level) от марта 2023 года или более позднего.

  1. Проверьте текущую версию патча безопасности в настройках устройства:
settings get secure install_non_market_apps

  1. Для администраторов парка устройств (MDM/EMM) необходимо принудительно инициировать проверку обновлений:
device_config put ota update_query_status true

  1. Для разработчиков кастомных прошивок (AOSP) необходимо применить соответствующие коммиты в репозитории frameworks/base. Основное исправление касается логики PackageManagerService. После внесения правок необходимо пересобрать образ системы:
make -j$(nproc)

Временные меры

Если установка официального патча невозможна, следует применить следующие защитные механизмы для минимизации рисков:

  1. Ограничьте возможность установки и обновления приложений из неизвестных источников (Sideloading) через ADB:
settings put global install_non_market_apps 0

  1. Включите строгий мониторинг активности Google Play Защиты (Play Protect), который блокирует известные эксплойты, использующие данную уязвимость.

  2. Для корпоративных устройств используйте политику запрета повышения targetSdkVersion для недоверенных приложений через профиль ограничения MDM.

  3. Проведите аудит установленных приложений на предмет подозрительных запросов на обновление версии SDK, используя dumpsys:

dumpsys package | grep -E "Package \[|targetSdk"