Проблема iOS заключается в Mach interface generator (MIG) - генераторе интерфейса микроядра Mach, используемого в устройствах на базе iOS. Еще в 2016 г. Бир выявил две уязвимости в MIG - CVE-2016-7612 и CVE-2016-7633.
Новый баг, описанный Биром в сопроводительной записке к его пробному эксплойту, позволяет производить прямую атаку на MIG.
По словам Бира, он воспользовался «недавним добавлением к ядру, возможно, использовавшемуся в качестве дебаггера, помогающего пронумеровать области, где ядро случайно раскрывает указатели в пользовательском пространстве. Текущая реализация нумерует kqueues и сбрасывает ряд значений из них».
Согласно собственным пояснениям Бира, он использовал уязвимость в proc_pidlistuptrs, чтобы выявить адрес произвольных значений ipc_ports. Затем он выполнял чтение областей разных размеров с помощью функции kalloc для обнаружения типичных утечек указателей ядра.
Эксперт по безопасности Google Иен Бир