Ошибка, приводящая к зависаниям и аварийному отключению техники Apple, оказалась неожиданным абьюзом функционала.
Apple пообещала исправить баг ChaiOS, найденный в iMessage, в обновлении iOS 11.2.5, запланированном на эту неделю.
Согласно ряду публикаций, ошибку обнаружил разработчик Абрахам Масри (Abraham Masri), о чем сообщил в твите. Баг в приложении iMessage вызывает зависание, сбои и перезагрузки устройств на iOS.
Проблема не обошла стороной и настольные компьютеры под авторством корпорации из Купертино. Apple пообещала исправить недостаток в этом месяце в обновлении macOS High Sierra 10.13.3.
Компания подтвердила Threatpost, что уже на этой неделе пользователи получат исправленное ПО iOS. Представители Apple не вдавались в подробности, однако новостной ресурс WCCFTECH и ряд других порталов подтвердили, что баг устранили в бета-версии iOS 11.2.5 Beta 6, выпущенной в прошлую среду 17 января.
Изначально Масри выложил ссылку на код активации бага, именуемого «текстовой бомбой» (text bomb), в своем репозитории на GitHub. Когда устройство пользователя принимало сообщение через iMessage со ссылкой на вредоносный код, оно зависало и в некоторых случаях завершало работу в аварийном режиме. Чтобы баг сработал, не нужно было открывать какие-либо ссылки, достаточно было лишь получить сообщение с вредоносным кодом.
На компьютерах Mac атака приводила к вылету браузера Safari или замедлению работы системы.
Масри уже убрал вредоносный код из своего репозитория GitHub, но кто-то мог скопировать и разместить его на другой площадке.
Чтобы восстановить работу системы, получатель вредоносной ссылки должен выйти из приложения iMessage и удалить беседу.
Как поясняет Масри, эксплойт стал возможен благодаря правилам Apple для разработчиков ПО, разрешающим вставлять дополнительные символы в HTML-код веб-сайта, чтобы изменить эскиз и заголовок, отображаемые при предпросмотре ссылки внутри приложения iMessage.
Разработчик создал «текстовую бомбу», вставив сотни тысяч символов в метаданные веб-страницы вместо нескольких. Приложение не справляется с таким потоком данных, что приводит к разным сбоям в iOS и MacOS.