SMS из 8 байт обрывает звонки на Android, исправление уже разработано

Владельцы Android-смартфонов могут потерять связь во время разговора из-за уязвимости SMS на Android, которая не проявляется в приложении SMS. Исследователь опубликовал код для воспроизведения сбоя, а Google подготовила исправление.

SMS из 8 байт обрывает звонки на Android, исправление уже разработано

Уязвимость затрагивает и экстренные вызовы: чтобы оборвать звонок, получателю не нужно открывать сообщение или подтверждать его получение.

Исследователь опубликовал тестовое приложение и его исходный код для атаки под названием SMS of Death. Приложение отправляет на выбранный номер особое сообщение WAP Push длиной 8 байт. Это SMS с данными, а не обычный текст в переписке. Телефон обрабатывает его без участия владельца: сообщение не появляется во входящих, и перед сбоем не возникает предупреждение.

Ошибка возникает в компоненте WapPushOverSms при разборе поля длины заголовка. Согласно опубликованному разбору, система преобразует полученное число в 32-битное целое без проверки диапазона. Для специально подготовленного значения результат оказывается отрицательным. Попытка выделить массив такого размера вызывает исключение NegativeArraySizeException, которое завершает процесс com.android.phone, отвечающий за телефонную связь.

В описании тестового приложения говорится, что процесс завершается примерно через 1—2 секунды после получения сообщения. Связь ненадолго пропадает, а текущий разговор обрывается, в том числе если человек звонит в экстренную службу. Независимые публикации сообщают о проверках на Pixel 9 с прошивкой за апрель 2026 года и нескольких устройствах Samsung Galaxy, включая модели серии A. Полного списка затронутых смартфонов и операторов связи исследование не даёт.

Повторная доставка сообщений может продлить сбои. По словам исследователя, если телефон не подтвердил получение SMS, оператор может отправить его снова; в одном из испытаний перебои продолжались до недели. Быстрая отправка примерно 20—30 сообщений, по его словам, приводила к более стойким проблемам с телефонной связью. Исследователь связывает это с повреждением базы хранения SMS после многократных аварийных завершений процесса. Это его объяснение результатов испытаний, а не установленная причина каждого такого случая.

Уязвимость SMS of Death на Android: сообщение об ошибке и исправление

Исследователь сообщил Google о проблеме 5 мая. По его словам, компания сначала не признала её вопросом безопасности, а 29 октября он опубликовал описание атаки и приложение для проверки. Запись в коде Android показывает, что исправление подготовили ещё 15 июня.

Исправление меняет обработку некорректного сообщения: система перехватывает ошибку и удаляет сообщение, чтобы оно не вызывало повторных сбоев. По сведениям исследователя, патч включили в октябрьские обновления Android версий 14—17. Данные о распространении исправления различаются, а единых сроков его появления на всех устройствах нет. Проверить установленное обновление безопасности можно в настройках смартфона.

После серии сбоев может потребоваться больше, чем обычная перезагрузка. Исследователь описал случай, когда сброс устройства помог лишь временно: оператор снова доставил сообщения, ожидавшие подтверждения. В его процедуре восстановления физическую SIM-карту переставляли в телефон без Android, чтобы принять такие сообщения, а повреждённые записи затем удаляли через Android Debug Bridge. Для устройств с eSIM этот способ может оказаться сложнее.

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

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