Разработчик Чжовэй Чжан (Zhuowei Zhang) рассказал, что ему удалось заменить системный шрифт в iOS 16 без джейлбрейка. Вместо этого инженер использовал уязвимость в операционной системе.

О своём опыте разработчик рассказал в Twitter. По его словам, эксплойт CVE-202-46689, позволяющий запускать произвольной код с привилегиями ядра, помогает заменить стандартный шрифт San Francisco на любой другой. Уязвимость работает на iOS 16.1.2 и младших версиях операционной системы, но в обновлении iOS 16.2 компания исправила ошибку.
В iOS используется собственный формат шрифтов, поэтому разработчик поэкспериментировал с несколькими наборами, включая DejaVu Sans Condensed, Serif и Mono. Также удалось установить шрифт Choco Cooky, который раньше использовала компания Samsung. При этом в iOS шрифт меняется не у всех элементов интерфейса из-за особенности реализации операционной системы.
Разработчик рассказал, что выполнить замену может любой пользователь и это не повлияет на работу устройства, так как после перезагрузки все изменения отменяются. При этом всё равно рекомендуется сделать резервную копию системы перед экспериментом. Исходный код опубликован в открытом репозитории GitHub.