CVE-2023-20963
Android Framework
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 года или более позднего.
- Проверьте текущую версию патча безопасности в настройках устройства:
settings get secure install_non_market_apps
- Для администраторов парка устройств (MDM/EMM) необходимо принудительно инициировать проверку обновлений:
device_config put ota update_query_status true
- Для разработчиков кастомных прошивок (AOSP) необходимо применить соответствующие коммиты в репозитории
frameworks/base. Основное исправление касается логикиPackageManagerService. После внесения правок необходимо пересобрать образ системы:
make -j$(nproc)
Временные меры
Если установка официального патча невозможна, следует применить следующие защитные механизмы для минимизации рисков:
- Ограничьте возможность установки и обновления приложений из неизвестных источников (Sideloading) через ADB:
settings put global install_non_market_apps 0
-
Включите строгий мониторинг активности Google Play Защиты (Play Protect), который блокирует известные эксплойты, использующие данную уязвимость.
-
Для корпоративных устройств используйте политику запрета повышения
targetSdkVersionдля недоверенных приложений через профиль ограничения MDM. -
Проведите аудит установленных приложений на предмет подозрительных запросов на обновление версии SDK, используя dumpsys:
dumpsys package | grep -E "Package \[|targetSdk"