Смартфоны и телефоны

Обычный APK получил root-доступ на OnePlus 15 без разрешений

Два смартфона OnePlus 15 с камерой

Исследователь безопасности Расмус Мооратс обнаружил цепочку из двух уязвимостей в OxygenOS, которая позволяла обычному Android-приложению получить привилегии root на OnePlus 15. Для атаки достаточно было установить APK без специальных разрешений. OnePlus подтвердила, что проблемы затрагивают множество устройств OnePlus и Oppo с разными версиями ПО, но полный список моделей не раскрыла.

Исследователь Мооратс сначала разработал эксплойт на OnePlus 12 Pro, который уже был разблокирован и получил root-доступ для других задач. Затем он установил тот же неизменённый APK на OnePlus 15 с OxygenOS 16.0.3.503, февральским патчем безопасности 2026 года и ядром 6.12.23. Атака сработала с первой попытки.

Командная строка Android с adb, вывод логов и запуском исследования на OnePlus 15
Источник изображения: ixbt

Как сообщает исследователь Расмус Мооратс, первая ошибка находилась в системной службе AtlasService, связанной со сбором телеметрии и отладочных событий. Служба работала с UID 0 и принимала запросы от любого процесса без проверки прав. Через специально сформированное событие приложение могло передать данные в команду, которую системный компонент запускал от имени root.

Команда выполнялась в домене SELinux dumpstate, где действуют ограничения. Но процесс всё ещё мог читать и записывать большую часть каталога /data, а также обращаться к ряду системных сервисов, доверявших запросам от UID 0. Чтобы получить полные привилегии, исследователь использовал вторую уязвимость.

Уязвимости OnePlus 15 и цепочка root-доступа

Вторая проблема затронула vendor HAL OplusLogCore, службу с интерфейсом doShell. Она проверяла только UID вызывающего процесса: если он равнялся нулю, сервис запускал переданную команду через оболочку /vendor/bin/sh. Получив root-доступ через AtlasService, вредоносное приложение могло воспользоваться этим интерфейсом.

Код C++ для команды doShell на OnePlus 15
Источник изображения: ixbt

Дочерний процесс OplusLogCore переходил в домен vendor_qti_init_shell. У него был полный набор Linux-возможностей, включая права на загрузку модулей ядра, прямой доступ к оборудованию и трассировку процессов. Через эти два сервиса приложение переходило из стандартного домена untrusted_app к root с широкими системными правами.

Тестовый APK не запрашивал разрешений и был рассчитан на API 35. Приложение сохраняло скрипт и файл classes.dex во внешнем каталоге собственных данных, доступном процессу dumpstate, после чего запускало цепочку вызовов. Доступ к установленному APK оказался закрыт политиками SELinux, поэтому исследователь извлекал нужный dex-файл во внешнее хранилище приложения.

Мооратс впервые сообщил OnePlus об обеих проблемах 18 апреля 2026 года. 20 мая компания подтвердила наличие уязвимостей в нескольких продуктах и предупредила исследователя о возможных юридических последствиях публикации работы. В июне OnePlus сообщила о ходе исправления и попросила отложить раскрытие деталей.

На OnePlus 15 ошибки исправили в OxygenOS 16.0.10.500(EX01). Исследователь опубликовал техническое описание 24 сентября, после назначенного им срока раскрытия. OnePlus не назвала все модели и версии прошивок, для которых вышли аналогичные исправления.

Источники: Blog.nns, Thehackernews, Ixbt
Максим Третьяков
Технический обозреватель, пишет в основном про рынок мобильных телефонов и автомобильные технологии. Максим подготовил 740 материалов, в которых анализирует запуск флагманских линеек смартфонов (включая бренды Xiaomi и Apple), развитие нейросетевых функций в потребительских гаджетах и актуальное состояние отечественного автопрома. Его экспертиза охватывает как аппаратные новинки — от концептов видеокарт до умных колец, — так и правовые аспекты технологического рынка.

Оставить комментарий