Вразливість GhostMap може спричинити нескінченне перезавантаження Android
Bitdefender повідомила про GhostMap — вразливість Android, яка через спеціальний застосунок може спричинити цикл перезавантажень.
Спеціально створений застосунок для Android може перевести пристрій у безперервний цикл перезавантажень, не запитуючи дозволів і без потреби запускати його після встановлення. Про вразливість GhostMap повідомила румунська компанія з кібербезпеки Bitdefender, пише BleepingComputer.
Як працює збій
За даними Bitdefender, проблема пов’язана з різним трактуванням методів стиснення ZIP двома бібліотеками Android. Некоректно сформований APK-файл може обійти перевірку розміру та бути відображеним у ділянку пам’яті поза фактичним вмістом файла. Спроба прочитати такий запис спричиняє сигнал SIGBUS у процесі, який звертається до файла.
Дослідники виявили проблему під час аналізу банківського трояна для Android: той спричиняв аварійне завершення роботи емуляторів, коли намагався прочитати ресурс застосунку. Для демонстрації GhostMap фахівці створили застосунок без виконуваного коду та без запитуваних дозволів. Він містив ресурс, який системна служба Android system server автоматично намагається прочитати після інсталяції.
Це звернення перезапускає системний процес, після чого той знову намагається прочитати той самий ресурс і аварійно завершує роботу. Так утворюється нескінченний цикл збоїв.
Тестування та можливе відновлення
Bitdefender перевірила сценарій на смартфоні Pixel 10 з Android 17 і пакетом безпеки від 5 серпня. Приблизно через секунду після встановлення застосунку пристрій починав цикл збоїв: у звичайному режимі він повторився 110 разів, у безпечному — 72 рази.
Компанія попереджає, що збій також не дає нормально скористатися безпечним режимом, який зазвичай допомагає усунути проблему. Відновити роботу можна скиданням пристрою до заводських налаштувань із видаленням локальних даних або вилученням пошкодженого файла через Android Debug Bridge. Другий спосіб можливий, лише якщо налагодження було ввімкнене заздалегідь, а скрипти встигають спрацювати до чергового падіння системи.
Bitdefender повідомила Google про проблему 20 серпня. За словами дослідників, компанія відповіла статусом «Won’t Fix (Not Reproducible)» та визнала звернення таким, що не підпадає під випуск оновлення безпеки. Після повторного, розширеного звіту 25 серпня Google, за даними Bitdefender, залишила проблему поза межами такого оновлення, але зарезервувала її для можливого розгляду в майбутньому.