Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
IOHIDFamily-PoC-Research — CVE-2026-28992 IOHIDFamily FastPathUserClient состояние гонки PoC — исследование безопасности | Kitploit
Инструменты/GitHubGitHub/clogan9019-dotcom/iohidfamily-poc-research
Безопасность iOSАнализ уязвимостейЭксплуатацияМобильная безопасностьСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubclogan9019-dotcom/iohidfamily-poc-research

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

IOHIDFamily-PoC-Research

CVE-2026-28992 IOHIDFamily FastPathUserClient состояние гонки PoC — исследование безопасности

Репозиторий
32 месяцев назадЕщё не проверено
Поделиться

CVE-2026-28992 — PoC для IOHIDFamily FastPathUserClient

Репозиторий для исследования безопасности. Два приложения PoC, демонстрирующие состояния гонки в IOHIDFamily's FastPathUserClient на iOS 18.7.1 и более ранних версиях.

⚠️ Оба PoC вызовут kernel panic и перезагрузят устройство. Сохраните работу сначала.


Сводка уязвимости

ПолеПодробности
CVECVE-2026-28992
КомпонентIOHIDFamily — IOHIDEventServiceFastPathUserClient
ТипПовреждение памяти (состояние гонки / UAF)
Достижимо изПесочница обычного приложения, не требуется никаких прав
Исправлено вiOS 18.7.9 / iOS 26.5
ИсследовательJohnny Franks (@zeroxjf)

Причина

sel0 (open/gate) проверяет FastPathHasEntitlement и FastPathMotionEventEntitlement в словаре OSDictionary, предоставленном вызывающим, а не флаги прав, сохраненные во время initWithTask. Песочница приложение проходит проверку, включая эти ключи в свой входной словарь.

Отсюда следуют два вектора:


UAFPoc — Use-After-Free

UAFPoc/UAFPoc.xcodeproj

Гонка: close (sel1) сбрасывает состояние провайдера и очищает смещение +0x109 без блокировки. copyEvent (sel2) проверяет смещение +0x108 под блокировкой на соединение, затем вызывает провайдера. Несколько соединений к одному провайдеру означают, что close и copyEvent выполняются в разных доменах блокировок на одних и тех же объектах на стороне провайдера.

Тип падения:

  • A17+ (MTE): ошибка проверки тега MTE ядра
  • Pre-A17: аварийный останов данных ядра

AOPPanicPoc — Сторожевой таймер сопроцессора AOP

AOPPanicPoc/AOPPanicPoc.xcodeproj

Гонка: mach_port_destroy запускает асинхронный didTerminate → teardown, не синхронизированный с параллельными путями открытия sel0 на других соединениях. Teardown освобождает состояние, используемое провайдером, в то время как потоки открывателя итерируют его. Также насыщает почтовый ящик провайдеров на основе SPU → тайм-аут сторожевого таймера AOP.


Как собрать и загрузить через sideload

Требования

  • macOS с Xcode 15+
  • Учетная запись разработчика Apple (бесплатный уровень подходит для sideload)
  • iPhone 16e на iOS 18.7.1 (или любое устройство на iOS 15.0–18.7.8 / 26.0–26.4.x)

Шаги

root@kitploit:~
git clone https://github.com/clogan9019-dotcom/IOHIDFamily-PoC-Research.git
cd IOHIDFamily-PoC-Research

Вариант UAF:

  1. Откройте UAFPoc/UAFPoc.xcodeproj в Xcode
  2. Выберите свое устройство в верхней панели
  3. Установите свою команду в подписи и возможностях (подойдет ваш Apple ID)
  4. Product → Run (⌘R) — Xcode установит и запустит приложение напрямую

Вариант AOP:

  1. Откройте AOPPanicPoc/AOPPanicPoc.xcodeproj в Xcode
  2. Те же шаги подписи
  3. Product → Run (⌘R)

Получение лога паники

После перезагрузки устройства:

  1. Подключитесь к Mac
  2. Откройте Xcode → Window → Devices and Simulators → View Device Logs
  3. Найдите самый свежий лог Panic (файл .ips)
  4. Сохраните его в panic-logs/ и зафиксируйте для анализа

Альтернативно через Терминал:

root@kitploit:~
# После перезагрузки получите лог
idevicecrashreport -u <UDID> ./panic-logs/

Что искать в логе паники

На A18 (iPhone 16e) вы должны увидеть одно из:

  • MTE tag check fault — вариант UAF, освобождающий и перераспределяющий тегированный объект кучи
  • AOP watchdog timeout — вариант AOP, насыщающий почтовый ящик SPU

Ключевые поля:

root@kitploit:~
Kernel version:      Darwin Kernel Version ...
Hardware Model:      iPhone17,5
panic(cpu N ...):    <the actual panic string>
Backtrace:
  ... IOHIDEventServiceFastPathUserClient ...

Имена функций в backtrace точно указывают, какой путь кода был запущен.


График раскрытия

ДатаСобытие
НеизвестноОшибка обнаружена Johnny Franks (@zeroxjf)
11 мая 2026Исправлено в iOS 18.7.9 / iOS 26.5
21 июня 2026Публичный выпуск кода PoC

Сообщение в Apple

Новые варианты или связанные ошибки можно сообщить по адресу: https://security.apple.com/submit

Для ошибок ядра: опишите компонент, шаги воспроизведения, тип падения и приложите лог паники .ips.


Связанные CVE на iOS 18.7.1

CVEКомпонентСтатус на 18.7.1
CVE-2025-43510AppleM2ScalerCSCDriver (DarkSword Stage 5)Не исправлено (исправлено в 18.7.2)
CVE-2026-28992IOHIDFamily FastPathUserClientНе исправлено (исправлено в 18.7.9)
CVE-2026-43655AppleM2ScalerCSCDriver OOB readНе исправлено и никогда не переносилось на 18.x
CVE-2026-20687Kernel UAF → write kernel memoryНе исправлено (исправлено в 18.7.7)

Только для образовательных целей и ответственного раскрытия.

Скачать инструмент