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