Уязвимость в модемах Unisoc даёт доступ к памяти ядра Android через VoLTE

3 мин
69
19 августа 2026

В прошивке модемов Unisoc нашли ошибку, из-за которой код в модеме может получить доступ к памяти ядра Android. Исследование опубликовал независимый специалист по информационной безопасности, известный под псевдонимом 0x50594d, при поддержке компании SSD Secure Disclosure.

Ошибка затрагивает разделение памяти внутри чипа. Память модема и память операционной системы должны быть изолированы друг от друга. В устройствах на Unisoc этой изоляции нет или она работает неверно. Проблему отнесли к классу CWE-1189. Так называют ошибки, при которых разные части одного чипа получают доступ к общим ресурсам без нужных ограничений. 

Исследователь показал, что код в модеме может отключить защиту первой области блока MPU. После этого он получает доступ ко всей физической памяти смартфона. В тестовой прошивке ядро было размещено по адресу `0x80080000`. Это дало возможность записать код в память ядра и запустить его от его имени.

Наличие проблемы подтвердили на Xiaomi Redmi A5 с январским обновлением безопасности Android 2026 года и на Motorola E13 с февральским обновлением 2025 года. Для демонстрации атаки использовали realme C33 на чипе Unisoc T612 с обновлением безопасности от 1 июля 2025 года.

Для проверки атаки исследователи собрали тестовый стенд в Docker. Open5GS использовали как ядро мобильной сети, а Kamailio — как SIP-сервер для обработки VoLTE-вызовов. Для связи 4G применяли LimeSDR. Устройства подключали к сети с помощью SIM-, USIM- и ISIM-карт Osmocom.

Атака использует SIP-запросы в VoLTE. Сначала атакующий отправляет на телефон жертвы несколько специально подготовленных запросов `INVITE`. В них находятся части кода для модема. Затем он отправляет последний запрос и звонит по видеосвязи. Код начинает работать после ответа на звонок.

Нагрузка попадает в память модема фрагментами. Вспомогательный код находит их, собирает в один блок по адресу `0x8de00000` и запускает. После этого модемный код отключает защиту памяти, записывает данные в ядро и меняет начало функции `do_sys_open`, таким образом перенаправляя выполнение в добавленный код.

В демонстрации внедрённый код срабатывал один раз и оставлял служебную запись в журнале ядра. Так исследователь подтвердил выполнение кода с правами ядра Android.

0x50594d сообщил, что пытался связаться с Unisoc по электронной почте и через LinkedIn, но ответа не получил.

Важное по теме
Новости
Читать 2 минуты
20.08.2026
Для включения нового режима потребуется перезагрузить устройство и ждать 24 часа
Новости
Читать 2 минуты
20.08.2026
Атаки затронули системы с доступным из интернета портом
Новости
Читать 3 минуты
19.08.2026
Сразу три антивируса отметили файл как опасный
Оставьте комментарий
Доступно для авторизованных пользователей
1/1000