
Project Zero от Google часто обнаруживает уязвимости в программном обеспечении других компаний и дает 90 дней на их устранение, прежде чем обнародовать. Сегодня Google раскрыл информацию об уязвимости в iMessage от Apple, которая могла привести к многократным сбоям iPhone. К счастью, Apple уже устранила ее.
Как было раскрыто в публикации отслеживания ошибок (через ZDNet), Project Zero от Google впервые обнаружил и сообщил об этой уязвимости iMessage компании Apple еще в апреле. Проблема, которая также затронула macOS, заключалась в том, что некорректно сформированное сообщение, содержащее текстовый ключ, вызывало исключение, которое, в свою очередь, приводило к сбою системы.
На Mac эта уязвимость вызывала сбой и перезапуск «soagent», но в iOS проблема затрагивала Springboard, который обеспечивает работу домашнего экрана устройства. Получение этого сообщения через iMessage приводило к многократным сбоям и перезапускам Springboard, делая телефон неработоспособным.
Удивительно, но такое поведение сохранялось даже после полной перезагрузки устройства, и сбои продолжались сразу после его разблокировки. Это означало, что для восстановления работоспособности устройства его приходилось полностью стирать.
На Mac это приводит к сбою и перезапуску soagent, но на iPhone этот код находится в Springboard. Получение этого сообщения вызовет многократные сбои и перезапуски Springboard, что приведет к невозможности отображения пользовательского интерфейса и прекращению реагирования телефона на ввод. Это состояние сохраняется после аппаратной перезагрузки и делает телефон непригодным для использования сразу после разблокировки.
К счастью, эта уязвимость iMessage была исправлена Apple задолго до того, как Project Zero от Google раскрыл ее публике. Уязвимость была раскрыта в системе отслеживания ошибок только сегодня, но была исправлена в iOS 12.3, выпущенной в мае.