Программист и эксперт по ИБ Райан Пикрен (Ryan Pickren) раскрыл детали уязвимости CVE-2024-27812 («первый найденный пространственный дефект» в VisionOS и Safari) с возможностью вызова сторонних объектов, например пауков и летучих мышей, в пространстве пользователя гарнитуры Vision Pro. В Apple посчитали это баг атакой типа DoS («отказ в обслуживании») через WebKit против пользователей гарнитуры. Разработчики компании выпустили патч против CVE-2024-27812 в обновлении VisionOS 1.2.
По мнению Пикрена, в реальности обнаруженный им баг имеет гораздо более существенное влияние на пользователей. Разработчик смог показать, что кликанье по одной ссылке пользователем в Safari может привести к быстрой активации VisionOS 1.1 и предыдущих версиях множественных объектов (специально созданного веб-контента), включая тех, к которым у пользователей есть отторжение или страх.
Vision Pro обеспечивает предотвращение запуска неавторизованных приложений и проникновения в личное пространство пользователя. По умолчанию нативные приложения ограничены контекстом «общего пространства», где они действуют предсказуемо и их можно легко закрыть. «Полное пространство» в Vision Pro разработчикам доступно через явное разрешение от пользователя через приглашение на уровне ОС.
В частности, посещаемые в Safari через гарнитуру Vision Pro сайты могут запускать 3D-объекты в комнате присутствия только в том случае, если пользователь предоставил им разрешение вручную.
Пикрен обнаружил, что Apple не реализовала необходимый уровень защиты к ARKit Quick Look в iOS, так что функция всё ещё присутствует в WebKit и не требует никаких дополнительных разрешений в Safari, а также подтверждения от пользователя.
Эксперт выяснил, что злоумышленник может злоупотребить этой функцией для создания любого типа 3D-объектов, включая анимированные и звуковые объекты, просто заставляя целевого пользователя посетить вредоносный веб-сайт. Причём, поскольку эти анимированные файлы обрабатываются отдельным приложением (Quick Look), то закрытие браузера Safari не приводит к их устранению. Учитывая отсутствие элемента типа Dock в VisionOS или какого-либо другого пользовательского интерфейса открытых приложений, очевидного способа остановить работу этих объектов нет. В итоге у пользователя остаются два выхода, вручную физически нажимать на каждый из объектов для их удаления или перезагрузить гарнитуру.
Пикрен был удивлён тем, что Apple классифицировала обнаруженную им уязвимость, как атака типа DoS, вместо того, чтобы оценить её как более высокого уровня на основе используемой механики полного воздействия в системе. Исследователь показал реализацию взлома виртуального пространства пользователя, создав скрипт, в котором в комнате рядом с пользователем появляются сотни движущихся пауков или летают визжащие летучие мыши.