Основная информация об эксплойтах для уязвимостей в ядре iOS
Аналитики из команды Google Project Zero представили небольшой обзор сведений об эксплоитах для уязвимостей, которые касаются версий iOS от 10 до 13.
Цепочка эксплойтов 1
Использование эксплойта происходит при эксплуатации уязвимости записи за границами линейной кучи указателей IOAccelResource в функции IOKit AGXAllocationList2::initWithSharedResourceList (). В этой цепочке эксплуатации применяется только одна уязвимость ядра, которая доступна прямо из изолированной программной среды браузера Сафари.
extra_recipe
Уязвимость CVE-2017-2370 связана с чрезмерным наполнением буфера кучи наблюдается в функции mach_voucher_extract_attr_recipe_trap. Она представлена в виде системного вызова ядра Mach. Методика эксплуатации этой уязвимости содержит множественные и намеренные сбои, а также методы выстраивания функций самоанализа ядра с применением прежних эксплойтов ядра.
Yalu102
Эксплойт работает с уязвимостью CVE-2017-2370. Mach-trap вызывается для формирования выделения kalloc и мгновенного переполнения на этом фоне контролируемыми данными за счет перезаписывания содержимого массива OOL-портов и вставки указателя на поддельный mach-порт в пользовательском пространстве.
ziVA
Эксплойт для уязвимостей в Apple Ave2, связанных с внешними способами, которые применяют указатель IOSurface в пользовательском пространстве и доверяют указателям IOSurface, которые считываются из пользовательского пространства.
async_wake
В уязвимости CVE-2017-13861 имеется IOSurfaceRootUserClient::s_set_surface_notify (), что становится причиной удаления вспомогательной ссылки на mach-порт. Использование уязвимости приводит к утечке указателей ядра из-за того, что невозможно полностью инициализировать память кучи перед копированием содержимого в пространство пользователя.
v0rtex
Используется та же уязвимость (CVE-2017-13861) – при распределении mach-портов происходит удаление одной ссылки. При этом наблюдется освобождение остальных портов на странице, что позволяет получить право на «висящий». PoC-код для этой уязвимости применяет один порт для начальной и дальнейших регистраций.
mach_portal
Эксплойт работает с уязвимостью CVE-2016-7644. Эксплуатация бреши такого типа становится причиной излишнего освобождения mach-порта.


