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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-65343-e7eb2ed — PoC для CVE-2026-65343 — чтение за пределами буфера (OOB read) в ядре AppleKeyStore на iOS 26.6, которое утекает указатели ядра для обхода KASLR из песочницы приложения через перехват ACM-дескриптора с помощью DYLD_INTERPOSE. | Kitploit
Инструменты/GitHubGitHub/hidayat-tanjung/cve-2026-65343-e7eb2ed
Безопасность iOSКриминалистика памятиАнализ уязвимостейЭксплуатацияПентестинг мобильных приложенийОбратная инженерияМобильная безопасностьСтатьи и ИсследованияЭксплуатация Бинарных Файлов
GitHubhidayat-tanjung/cve-2026-65343-e7eb2ed

CVE-2026-65343-e7eb2ed

PoC для CVE-2026-65343 — чтение за пределами буфера (OOB read) в ядре AppleKeyStore на iOS 26.6, которое утекает указатели ядра для обхода KASLR из песочницы приложения через перехват ACM-дескриптора с помощью DYLD_INTERPOSE.

Репозиторий
16 ч 59 мин назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2026-65343 — OOB-чтение в AppleKeyStore (обход KASLR)

Компонент: расширение ядра AppleKeyStore — _LibSer_SEPControl_Deserialize
Затронуто: iOS / iPadOS 26.6 (23G71) и более ранние
Исправлено в: iOS / iPadOS 26.6.1 (23G83)
Тип: Out-of-Bounds чтение при десериализации управляющего сообщения SEP
Воздействие: Утечка указателя ядра → обход KASLR из процесса, работающего в песочнице без прав (через захват ACM-дескриптора с помощью DYLD_INTERPOSE)


Благодарности

Обнаружено: Drinor Selmanaj (Sentry), Surya Narayan Kushwaha
(согласно Apple Security Advisory — iOS 26.6.1)


Первопричина

_LibSer_SEPControl_Deserialize в расширении ядра AppleKeyStore публикует пару (payload_ptr, declared_length) из буфера сообщения ACM (Credential Manager) в пользовательское пространство через , .

copyout()
без проверки того, что declared_length ≤ remaining

Передав declared_length = 0x800, драйвер копирует примерно 0x7E8 байт за пределами буфера сообщения ACM в ядре — считывая данные из соседних выделенных областей кучи ядра. Эти соседние области содержат указатели ядра (0xfffffff0xxxxxxxx), которые можно использовать для вычисления смещения KASLR.

root@kitploit:~
; _LibSer_SEPControl_Deserialize (affected path, 26.6 / 23G71)
ldr  w2, [acm_msg + declared_length_offset]  ; user-controlled 0x800
; NO check: w2 <= (acm_msg_end - payload_ptr) ← MISSING
bl   copyout                                  ; copies w2 bytes to userspace

Захват ACM-дескриптора (DYLD_INTERPOSE)

Прямой вызов IOServiceOpen("AppleKeyStore") блокируется песочницей для приложений, установленных не из App Store. Однако путь подписи ключа Secure Enclave в Security.framework вызывает IOConnectCallMethod внутри процесса с настоящим дескриптором сессии ACM.

PoC использует хук __DATA,__interpose (который выполняется во время загрузки dyld, до того как __DATA_CONST становится доступным только для чтения — fishhook блокируется на iOS 26 защитой DATA_CONST):

  1. Активировать флаг захвата interpose
  2. SecKeyCreateRandomKey(kSecAttrTokenIDSecureEnclave) → SecKeyCreateSignature() → внутрипроцессный вызов IOConnectCallMethod срабатывает с настоящим ACM-дескриптором
  3. Захватить (conn, handle[16])
  4. Воспроизвести с declared_length = 0x800 по всем 163 селекторам AKS
  5. Просканировать вывод на указатели ядра 0xfffffff0xxxxxxxx → вычислить смещение KASLR

Поведение PoC

poc_aks_oob.m реализует полную цепочку захвата ACM-дескриптора и OOB-зондирования:

  • Создаёт ключ Secure Enclave P-256 (kSecAttrAccessibleAfterFirstUnlock, без биометрии)
  • Подписывает 32-байтовое сообщение, чтобы вызвать внутрипроцессный вызов AKS IOKit
  • Воспроизводит с declared_length = 0x800 по всем 163 селекторам AKS
  • Выводит любые найденные указатели ядра в формате KPTR @+XXXX = 0xfffffff0YYYYYYYY
  • Пытается вычислить смещение KASLR по известному смещению символа AKS

Если подпись ключа SE направляется через XPC secd, а не внутри процесса, резервное зондирование использует нулевой дескриптор (подтверждает достижимость OOB-пути; все селекторы не пройдут проверку ACM, но путь VNOP подтверждён).


Примечание для iOS 26: fishhook заблокирован

На iOS 26 __DATA_CONST (содержащий GOT) отображается только для чтения до запуска любого внутрипроцессного кода. Записи в GOT во время выполнения (как используется в fishhook) вызывают KERN_PROTECTION_FAILURE → SIGBUS. DYLD_INTERPOSE через __DATA,__interpose работает, потому что dyld обрабатывает таблицу interpose во время загрузки образа, до того как ядро применяет защиту __DATA_CONST.


Требования

  • iOS 26.6 (23G71) или более ранняя
  • Доступ к Secure Enclave (kSecAttrTokenIDSecureEnclave) — доступен любому приложению, установленному не из App Store, без прав
  • Обход песочницы не требуется: вызов AKS IOKit происходит внутри процесса через Security.framework

Сборка

root@kitploit:~
# Xcode project — link Security.framework and Foundation.framework
clang -arch arm64 \
      -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -framework Security -framework Foundation \
      -o poc poc/poc_aks_oob.m

codesign -s "Apple Development" --entitlements ent.plist poc

Минимальные права (ent.plist):

root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
    <key>keychain-access-groups</key>
    <array><string>$(AppIdentifierPrefix)com.research.poc65343</string></array>
</dict></plist>

Хронология

ДатаСобытие
2026-08-17Выпущена iOS 26.6.1 с исправлением
2026-08-17Apple опубликовала благодарности в бюллетене безопасности

Ссылки

  • Apple Security Advisory — iOS 26.6.1

CVE-2026-65343-e7eb2ed

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