
CloudKit — это фреймворк Apple, интегрированный в iOS и macOS, который работает как бэкенд для приложений. Разработчик Франс Розен нашел способ использовать облачную платформу Apple для удаления общедоступных команд Siri и даже контента из других приложений Apple, таких как Apple News.
Розен начал поиск уязвимостей на платформах Apple в феврале этого года. Он начал проверять трафик всех приложений Apple и глубоко изучать CloudKit. В то время как для чтения и записи конфиденциального контента всегда требуются учетные данные, разработчик обнаружил, что общедоступным контентом, которым делятся в iCloud, может воспользоваться любой, у кого есть общедоступные токены.
Проверяя соединения приложений Apple с API CloudKit, Розен смог получить действительный токен для доступа к общедоступному контенту из iCloud. Конечно, фактический процесс был намного сложнее, чем кажется, но результат мог быть катастрофическим для Apple, если бы эта уязвимость попала не в те руки.
Я потратил на это слишком много времени, почти двое суток подряд, но как только я нашел методы, которые мог использовать, изменение записей в общедоступной области все равно требовало авторизации для моего пользователя, и я так и не смог выяснить, как сгенерировать
X-CloudKit-AuthTokenдля нужной области, поскольку меня в основном интересовала приватная область.
После нескольких команд разработчик смог удалить ссылки на все общедоступные статьи Apple News.

Используя аналогичный метод, он также смог оборвать все общедоступные ссылки на команды Siri, которыми делились пользователи. Apple подтвердила это 25 марта, не упоминая, что это была уязвимость безопасности.
Розен связался с командой безопасности Apple, которая впоследствии исправила брешь в системе безопасности.
Поиск уязвимостей в CloudKit оказался очень увлекательным, немного пугающим и отличным примером того, к чему может привести настоящее глубокое погружение в одну технологию при охоте за ошибками. Команда безопасности Apple была невероятно отзывчивой и профессиональной на протяжении всего процесса сообщения об этих проблемах.
Если вы хотите узнать более подробную информацию об уязвимости, разработчик рассказал, как была проведена атака, в блоге Detectify.