В iOS знайшли баг: один рядок коду міг перетворити iPhone на «цеглину»
Дослідник кібербезпеки Гільєрме Рамбо розкрив, як один рядок коду міг перевести будь-який iPhone в режим відновлення, що фактично перетворює пристрій на «цеглину». За знахідку цього нещодавно пропатченого критичного багу в iOS Рамбо отримав від Apple $17500.
Вразливість, яка отримала назву CVE-2025-24091, стосувалась механізму Darwin Notifications, який потрібен для обміну повідомленнями між процесами в iOS. Спочатку ця система створювалася для простого обміну статусами між процесами, але з часом деякі внутрішні події iOS стали пов’язані з цими повідомленнями.
Виявилося, що будь-яка програма, навіть запущена в пісочниці без розширених прав, могла надіслати критичне системне повідомлення. Достатньо було одного рядка коду:
notify_post("com.apple.MobileSync.BackupAgent.RestoreStarted")
Запуск цього коду переводив пристрій у режим «Відновлення», що змушувало систему показати екран «Відновлення в процесі». Єдиним виходом з цього було примусове перезавантаження пристрою. Однак експерименти продемонстрували, що баг можна використовувати для створення зацикленого збою через віджети.
Якщо віджет спеціально програмували для аварійного завершення роботи після відправлення шкідливого повідомлення з кодом, це змушувало iOS знову і знову перезапускати процес відновлення після кожного перезавантаження. Це робило пристрій практично непридатним для використання без повної перепрошивки.
Вразливість було виправлено в iOS 18.3 (CVE-2025-24091). Тепер надсилання Darwin-повідомлень вимагає спеціальних дозволів — restricted entitlements. Без них спробу надіслати критичне повідомлення буде заблоковано на рівні системи.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: