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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-20687-AppleJPEGDriver-UAF — CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — уязвимость ядра iOS/macOS, приводящая к отложенной панике (A19 Pro, iOS 26.3 RC) | Kitploit
Инструменты/GitHubGitHub/0xjohnnydev/cve-2026-20687-applejpegdriver-uaf
Безопасность iOSАнализ уязвимостейЭксплуатацияМобильная безопасностьЭксплуатация Бинарных Файлов
GitHub0xjohnnydev/cve-2026-20687-applejpegdriver-uaf

CVE-2026-20687-AppleJPEGDriver-UAF

CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — уязвимость ядра iOS/macOS, приводящая к отложенной панике (A19 Pro, iOS 26.3 RC)

Популярное

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

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

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

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

Смотреть все инструменты →
Репозиторий
Сайт
288382 месяцев назадПроверено Kitploit
Поделиться

CVE-2026-20687: таймаут UAF в AppleJPEGDriver startDecoder() (отложенная паника)

CVE-2026-20687 | Автор: Johnny Franks (@0xjohnny)

Компонент: ядро

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

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

— Apple Security Content, iOS 26.4 и iPadOS 26.4

Это вызовет панику ядра на вашем устройстве. Сохраните свою работу.

Протестировано на iOS 26.3 (23D125) на iPhone18,2 (iPhone 17 Pro Max, A19 Pro).

Триггер

Прямой триггер:

  1. Запустите PoC и нажмите Panic (подготавливает драйвер / ставит асинхронную работу в очередь).
  2. Затем откройте Camera (это надёжно вызывает синхронное декодирование JPEG + таймаут на затронутой сборке).
  3. Путь обработки таймаута освобождает запрос, но оставляет указатель на встроенный узел очереди в векторе для каждого кодека.
  4. При последующем обходе очереди происходит разыменование устаревшего узла, и ядро паникует (сбой проверки тега MTE).
// PoC: primes the driver; panic is usually deferred until Camera is opened.
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
  startDecoder_async();                   // queue_io_gated(): vector.push(req + 0x78)
}
IOServiceClose(conn);

// Later, opening Camera triggers:
startDecoder_sync();
  queue_io_gated(): vector.push(req + 0x78);
  wait(10s) -> TIMEOUT;
  pool_free(req);                         // BUG: does NOT dequeue (req + 0x78)

// Later still (finish_io_gated):
fullSpeedRequestExist():
  node_ptr = vector[i];                   // stale: node_ptr == (freed req + 0x78)
  req2 = *(node_ptr + 0x8);              // UAF read of req+0x80 -> MTE tag fault -> panic

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

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