Розкрито деталі та опубліковано експлоїт для вразливості (CVE-2026-58882) у платформі. Android, що дозволяє досягти зацикленого перезавантаження через відправлення спеціально оформленого SMS-повідомлення. Для усунення зацикленого перезавантаження потрібно скинути заводські налаштування або ручні маніпуляції за допомогою утиліти ADB. Вразливість отримала кодове ім'я «SMS of Death» та усунена у жовтневому оновленні Android. Атака може бути здійснена на будь-які телефони, оснащені Android 12-17. Оновлення випущено тільки для Android 14-17. Експлуатуюче вразливість SMS-повідомлення обробляється як фонове та не відображається на пристрої.
Проблема спричинена цілим переповненням при обробці некоректного заголовка WAP Push-повідомлення, надісланого через SMS.
Переповнення виникає оскільки поле з розміром заголовка наводиться до
цілому знаковому числу з типом int без належної перевірки кордонів, що дозволяє домогтися отримання негативного числа в перемінній частині. Надалі ця змінна використовується для виділення пам'яті через виклик «new byte[headerLength]», що у разі отримання негативного числа призводить до генерації виключення та аварійного завершення процесу com.android.phone.
Через кілька секунд процес перезапускається, але ефект не обмежується короткочасним перериванням зв'язку. Проблемне WAP Push-повідомлення через аварійне завершення продовжує перебувати у черзі необроблених повідомлень і нова спроба його обробки призводить до чергового аварійного завершення процесу com.android.phone.
Після серії подібний падінь спрацьовує обробник RescueParty, який перезавантажує пристрій в режим Recovery, в якому пропонується скинути заводські налаштування. Просте перезавантаження не допомагає – якщо проблемне повідомлення не видалено з черги, приблизно через 90 секунд пристрій знову буде перезавантажено.
Для видалення повідомлення з черги без скидання до заводських налаштувань пропонується використовувати утиліту adb:
adb shell content query -uri content://sms/raw -projection _id:destination_port:date:deleted
adb shell cmd appops set com.android.shell WRITE_SMS allow
adb shell "content delete -uri content://sms/raw -where \"address=' '\»»
adb shell cmd appops set com.android.shell WRITE_SMS default
adb shell pm clear com.android.providers.telephony
Але це лише дасть змогу вийняти SIM-карту, завантажитись та встановити оновлення прошивки. Оскільки через аварійне завершення процесу «com.android.phone» оператору зв'язку не надсилається підтвердження обробки WAP Push-повідомлення, до закінчення таймууту він буде робити нові спроби відправки і ситуація повторюватиметься. У проведених тестах повторні відправлення тривали від доби до тижня. Для пристроїв, виробники яких припинили публікацію оновлень прошивки, обхідного шляху блокування проблеми поки що немає.
Джерело: opennet.ru
