🛒 Arduino, ESP32 и модули
Эксплойт «SMS of Death» удалённо выводит из строя Android‑смартфоны

Эксплойт «SMS of Death» удалённо выводит из строя Android‑смартфоны

Уязвимость «SMS of Death» (CVE-2026-58882) позволяет по одному WAP Push SMS обрушить службу com.android.phone и нарушить связь, включая экстренные вызовы.

1 ноября 2026 г.4 мин чтения5 теги

Исследователь Mark Blah опубликовал рабочий proof‑of‑concept для новой уязвимости Android, получившей название «SMS of Death» и идентификатор CVE-2026-58882. Достаточно одного специально сформированного WAP Push SMS, чтобы удалённо обрушить процесс com.android.phone и в ряде случаев загнать устройство в цикл перезагрузок.

Нулевое взаимодействие и крах telephony‑стека

Уязвимость находится в базовом telephony‑framework Android, в функции WapPushOverSms.decodeWapPdu(). При приёме WAP Push‑сообщения код читает длину заголовка как uintvar:

```java
int headerLength = (int) pduDecoder.getValue32();
byte[] header = new byte[headerLength];
```

Проблема в том, что перед приведением long к int нет проверки диапазона. Специальная 5‑байтная последовательность 88 80 80 80 00 декодируется в 0x80000000, что в виде знакового 32‑битного int даёт -2147483648. Попытка выделить new byte[-2147483648] приводит к неперехваченному NegativeArraySizeException в главном потоке telephony, после чего com.android.phone падает.

Эксплуатация выполняется отправкой следующего 8‑байтного WAP Push PDU как data‑SMS на порт 2948:

01 06 88 80 80 80 00 BE

Сообщение обрабатывается на низком уровне и не попадает в SMS‑инбокс – пользователь не видит ни текста, ни номера отправителя. Активные звонки обрываются с причиной DisconnectCause CS_DEATH, на 1–2 секунды пропадает сеть. Атака полностью нулевого взаимодействия: жертве не нужно ничего открывать или нажимать.

Устойчивый DoS и циклы перезагрузок

Как показано в техническом разборе, ситуация ухудшается из‑за повторной доставки оператором: неподтверждённые SMS переотправляются, каждый раз снова обрушивая com.android.phone. Около 20 вредоносных сообщений достаточно, чтобы сделать смартфон практически непригодным к использованию.

На одном устройстве с Android 12 исследователь наблюдал перезагрузку в recovery примерно каждые 90 секунд. Причина в том, что «ядовитые» WAP Push‑сообщения остаются в очереди content://sms/raw и обрабатываются при каждом запуске, после чего срабатывает механизм RescueParty и уводит систему в recovery. Обычный пользователь в такой ситуации почти неизбежно выбирает factory reset.

Участник GitHub под ником Sakis предложил менее разрушительный способ восстановления: через ADB временно выдать com.android.shell право WRITE_SMS и удалить только строки WAP Push из content://sms/raw. Это разрывает цикл перезагрузок без стирания данных, но требует ПК, ADB и технических навыков.

Затронутые версии и патч Google

По данным первичного отчёта, уязвимый код присутствует в Android 12–17. Google исправила проблему в октябрьском обновлении безопасности 2026 года для Android 14–17, однако эта правка не фигурирует явно в публичном бюллетене. Устройства на Android 12 и 13 используют тот же код, но уже не входят в окно поддержки и патч не получают.

Изначально исследователь предложил добавить проверку диапазона длины заголовка перед приведением типов. В итоговом же коммите Google «Fix remote DoS in decodeWapPdu» расширила обработку исключений до RuntimeException (включая NegativeArraySizeException) и изменила логику InboundSmsHandler так, чтобы при ошибке декодирования «ядовитое» сообщение удалялось из таблицы raw‑SMS, тем самым устраняя и повторные краши, и boot‑loop.

Риск для экстренной связи

Поскольку com.android.phone управляет голосовой связью и регистрацией в сети, уязвимость выходит за рамки «просто неудобства». Во время атаки или цикла перезагрузок устройство не может надёжно совершать звонки, включая экстренные.

В Австралии, например, доступность вызова Triple Zero (000) является обязательным требованием к мобильной услуге. Регулятор предписывает операторам идентифицировать телефоны, которые не могут дозвониться до 000, помогать абоненту перейти на исправное устройство и при необходимости блокировать проблемный аппарат в сети. Таким образом, злоумышленник, удалённо вызвав состояние «нет доступа к 000», потенциально может спровоцировать блокировку самого устройства жертвы до его обновления.

С учётом публичного PoC и того, что для атаки нужен лишь номер телефона и возможность отправлять SMS, владельцам Android настоятельно рекомендуется:

  • Установить обновление безопасности за октябрь 2026 года (и новее) на устройствах Android 14–17;
  • Рассматривать аппараты на Android 12–13 как находящиеся в постоянной зоне риска;
  • Обращать внимание на необъяснимые циклы перезагрузок и проблемы с дозвоном – это может быть признаком атак на telephony‑уровне, а не «глюка прошивки».

Источник: Google, Gündəm · bleepingcomputer.com