Odkryto szczegóły i opublikowano exploit dla luki (CVE-2026-58882) w platformie Android, która pozwala na doprowadzenie do zapętlonego restartu poprzez wysłanie specjalnie sformatowanej wiadomości SMS. Aby wyeliminować zapętlony restart, konieczne jest przywrócenie ustawień fabrycznych lub ręczne operacje za pomocą narzędzia ADB. Luka otrzymała kodową nazwę „SMS of Death” i została usunięta w październikowej aktualizacji Androida. Atak może być przeprowadzony na dowolnych telefonach z zainstalowanym Androidem w wersjach 12-17. Aktualizacja została wydana wyłącznie dla Androida 14-17. Wiadomość SMS, która wykorzystuje tę lukę, jest przetwarzana w tle i nie jest wyświetlana na urządzeniu.
Problem jest spowodowany przepełnieniem typu całkowitego podczas przetwarzania nieprawidłowego nagłówka wiadomości WAP Push, wysłanego przez SMS.
Przepełnienie występuje, ponieważ pole z rozmiarem nagłówka jest konwertowane na
liczbę całkowitą z typem int bez odpowiedniej weryfikacji granic, co pozwala na uzyskanie ujemnej wartości w zmiennej headerLength. Ta zmienna jest następnie używana podczas alokacji pamięci poprzez wywołanie „new byte[headerLength]”, co w przypadku uzyskania ujemnej wartości prowadzi do generowania wyjątków i awaryjnego zakończenia procesu com.android.phone.
Po kilku sekundach proces jest restartowany, ale efekt nie ogranicza się do krótkotrwałego zakłócenia połączenia. Problematyczna wiadomość WAP Push z powodu awaryjnego zakończenia nadal znajduje się w kolejce nieprzetworzonych wiadomości, a nowa próba jej przetworzenia prowadzi do kolejnego awaryjnego zakończenia procesu com.android.phone.
Po serii podobnych awarii uruchamiany jest mechanizm RescueParty, który restartuje urządzenie w trybie Recovery, w którym proponuje się przywrócenie ustawień fabrycznych. Prosta operacja restartu nie pomaga — jeśli problematyczna wiadomość nie zostanie usunięta z kolejki, sprzęt w ciągu około 90 sekund ponownie się zrestartuje.
Aby usunąć wiadomość z kolejki bez przywracania ustawień fabrycznych, proponuje się użycie narzędzia 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
Ale to jedynie umożliwi wyjęcie karty SIM, uruchomienie urządzenia i zainstalowanie aktualizacji oprogramowania. Ponieważ przez awaryjne zakończenie procesu 'com.android.phone' operator sieci nie otrzymuje potwierdzenia przetworzenia wiadomości WAP Push, aż do upłynięcia limitu czasu będzie podejmował nowe próby wysłania, a sytuacja będzie się powtarzać. W przeprowadzonych testach powtarzające się wysyłki trwały od jednego dnia do tygodnia. Dla urządzeń, których producenci zaprzestali publikacji aktualizacji oprogramowania, nie ma jak dotąd obejścia problemu blokady.
Źródło: opennet.ru
