Sploitus

Exploit for CVE-2026-65330

kitploit ยท 2026-09-03

Exploit Code

MARKDOWN133 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-BYTEV0RTEX-CVE-2026-65330
# CVE-2026-65330 โ€” tmpfs setxattr PAC ์šฐํšŒ

**๊ตฌ์„ฑ ์š”์†Œ:** XNU VFS โ€” `default_setxattr_doubleagent` (tmpfs VNOP)  
**์˜ํ–ฅ:** iOS / iPadOS 26.6 (23G71) ๋ฐ ์ด์ „ ๋ฒ„์ „  
**์ˆ˜์ • ๋ฒ„์ „:** iOS / iPadOS 26.6.1 (23G83)  
**์œ ํ˜•:** xattr ํ•ธ๋“ค๋Ÿฌ ํฌ์ธํ„ฐ ์„œ๋ช…์˜ ๊ณ ์ • PAC diversifier  
**์˜ํ–ฅ:** ์ปค๋„ ์ปจํ…์ŠคํŠธ์—์„œ PC ์ œ์–ด; ์ปค๋„ ์“ฐ๊ธฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ์™€ ๊ฒฐํ•ฉ ์‹œ ์ „์ฒด ๊ถŒํ•œ ์ƒ์Šน

* * *

## ํฌ๋ ˆ๋”ง

๋ฐœ๊ฒฌ์ž: **Bhaswanth Chigurupati** , **Billy Jheng Bing Jhong** , **Pan Zhenpeng (@Peterpan0927)** โ€” STAR Labs SG Pte. Ltd.  
(Apple ๋ณด์•ˆ ๊ถŒ๊ณ  โ€” iOS 26.6.1 ์ฐธ์กฐ)

* * *

## ๊ทผ๋ณธ ์›์ธ

`default_setxattr_doubleagent`๋Š” tmpfs ํŒŒ์ผ์‹œ์Šคํ…œ์˜ VNOP xattr ํ•ธ๋“ค๋Ÿฌ๋กœ, xattr ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋ฅผ **๊ณ ์ •๋œ ์ปดํŒŒ์ผ ํƒ€์ž„ ์ƒ์ˆ˜ PAC diversifier`#0x307a`** ๋กœ ์„œ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

root@kitploit:~
    
    
    ; XNU ์ปค๋„ โ€” default_setxattr_doubleagent (๋””์ปดํŒŒ์ผ๋จ)
    handler_ptr = vnode_operations[VNOP_SETXATTR_SLOT];   // vnop ํ…Œ์ด๋ธ”์—์„œ ์ฝ๊ธฐ
    signed_ptr  = PACDA(handler_ptr, 0x307a);             // ๊ณ ์ • diversifier๋กœ ์„œ๋ช…
    ... call AUTDA(signed_ptr, 0x307a) โ†’ BLR             // ์ธ์ฆ ํ›„ ๋ถ„๊ธฐ
    

diversifier๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๊ณ  ๊ณต๊ฐœ์ ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ปค๋„ ์“ฐ๊ธฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๋ฅผ ๊ฐ€์ง„ ๊ณต๊ฒฉ์ž๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ์ž„์˜์˜ ์ปค๋„ ์ฃผ์†Œ์— ๋Œ€ํ•œ PAC ์„œ๋ช… ํฌ์ธํ„ฐ๋ฅผ ์œ„์กฐ:  
`forged = PACIA(shellcode_addr, 0x307a)`
  2. ๋Œ€์ƒ vnode์˜ `vnode_operations` ํ…Œ์ด๋ธ”์˜ ํ•ด๋‹น ์Šฌ๋กฏ์— `forged`๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  3. tmpfs ๋งˆ์šดํŠธ์˜ ๋ชจ๋“  ํŒŒ์ผ์— `setxattr()` ํ˜ธ์ถœ โ†’ ์ปค๋„์ด `shellcode_addr`์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.



* * *

## ์ต์Šคํ”Œ๋กœ์ž‡ ์ฒด์ธ์—์„œ์˜ ์—ญํ• 

iOS 26.6 ์ปค๋„ ๊ถŒํ•œ ์ƒ์Šน ์ฒด์ธ์—์„œ:

root@kitploit:~
    
    
    CVE-2026-64788 (IOGPUFamily UAF)  โ†’  ์ปค๋„ ์ฝ๊ธฐ/์“ฐ๊ธฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ
    CVE-2026-65330 (์ด ๋ฒ„๊ทธ)          โ†’  PC ์ œ์–ด โ†’ root (uid=0)
    

`sign_ptr` ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ(diversifier `#0x307a`๋ฅผ ์‚ฌ์šฉํ•œ PACIA)๋Š” ํƒˆ์˜ฅ POC์—์„œ ์ธ๋ผ์ธ ARM64e ์–ด์…ˆ๋ธ”๋ฆฌ๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ์ปค๋„ ์ฝ๊ธฐ/์“ฐ๊ธฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ๋Š” ๋‹ค์Œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

  1. ๋Œ€์ƒ vnode์˜ `v_op` ํฌ์ธํ„ฐ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
  2. ์œ„์กฐ๋œ PAC ํฌ์ธํ„ฐ๋ฅผ `vnode_operations[VNOP_SETXATTR_SLOT]`์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  3. `setxattr("/tmp/trigger", ...)`๋ฅผ ํ†ตํ•ด ์‹คํ–‰์„ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.



* * *

## PoC ๋™์ž‘

๋…๋ฆฝํ˜• PoC(`poc_pac_bypass.c`)๋Š” ์ทจ์•ฝํ•œ VNOP ๊ฒฝ๋กœ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  * `/var/root/poc65330_test`์— ํ…Œ์ŠคํŠธ ํŒŒ์ผ ์ƒ์„ฑ
  * `XATTR_NAME="com.apple.poc.cve65330.test"`๋กœ `setxattr()` ํ˜ธ์ถœ โ†’ `default_setxattr_doubleagent`์— ๋„๋‹ฌ
  * VNOP๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด 10ํšŒ ๋ฐ˜๋ณต ์ŠคํŠธ๋ ˆ์Šค ํŒจ์Šค ์‹คํ–‰
  * ์ •๋ฆฌ ๊ฒฝ๋กœ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด `removexattr()` ํ˜ธ์ถœ
  * ํ…Œ์ŠคํŠธ ํŒŒ์ผ ์ •๋ฆฌ



PoC๋Š” PAC ํฌ์ธํ„ฐ๋ฅผ ์œ„์กฐํ•˜๊ฑฐ๋‚˜ ์ปค๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฎ์–ด์“ฐ์ง€ **์•Š์Šต๋‹ˆ๋‹ค** โ€” ์ผ๋ฐ˜์ ์ธ `setxattr()` syscall์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์ทจ์•ฝํ•œ `#0x307a` ์„œ๋ช… ๊ฒฝ๋กœ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ค„ ๋ฟ์ž…๋‹ˆ๋‹ค.

* * *

## ์š”๊ตฌ ์‚ฌํ•ญ

  * iOS 26.6 (23G71) ๋˜๋Š” ์ด์ „ ๋ฒ„์ „
  * `/var/root/` ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•œ ํƒˆ์˜ฅ ๋˜๋Š” ์ƒŒ๋“œ๋ฐ•์Šค ์ดํƒˆ (`setxattr` ํ˜ธ์ถœ ์ž์ฒด๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์—์„œ ๋„๋‹ฌ ๊ฐ€๋Šฅ โ€” ํŒŒ์ผ ๊ฒฝ๋กœ๋Š” ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ์œ„์น˜๋กœ ์กฐ์ • ๊ฐ€๋Šฅ)
  * ์ „์ฒด PC ์ œ์–ด ์ต์Šคํ”Œ๋กœ์ž‡์„ ์œ„ํ•œ ์ปค๋„ ์“ฐ๊ธฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํ•„์š”



* * *

## ๋นŒ๋“œ

root@kitploit:~
    
    
    # ๋…๋ฆฝํ˜• C ๋ฐ”์ด๋„ˆ๋ฆฌ (ํ”„๋ ˆ์ž„์›Œํฌ ๋ถˆํ•„์š”)
    clang -arch arm64 -o poc poc/poc_pac_bypass.c
    
    # ๊ธฐ๊ธฐ ๋‚ด ์‹คํ–‰์šฉ (์„œ๋ช… ํฌํ•จ):
    clang -arch arm64 -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
          -o poc poc/poc_pac_bypass.c
    codesign -s "Apple Development" poc
    

* * *

## Diversifier ๊ฒ€์ฆ

๊ณ ์ • diversifier `0x307a`๋Š” 26.6 (23G71) kernelcache์˜ ๋””์Šค์–ด์…ˆ๋ธ”๋ฆฌ์—์„œ ๊ฒ€์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

root@kitploit:~
    
    
    ; default_setxattr_doubleagent + 0x?? (๊ทผ์‚ฌ์น˜)
    MOVZ  x1, #0x307a          ; diversifier ์ƒ์ˆ˜
    PACDA x0, x1               ; ํ•ธ๋“ค๋Ÿฌ ํฌ์ธํ„ฐ ์„œ๋ช…
    

ํ˜ธ์ถœ ์ง€์ ์˜ ํ•ด๋‹น `AUTDA x0, x1`์€ ๋™์ผํ•œ ์ƒ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, diversifier `0x307a`๋กœ PACIA ์œ„์กฐ๋œ ๋ชจ๋“  ํฌ์ธํ„ฐ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ธ์ฆ๋จ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

* * *

## ํƒ€์ž„๋ผ์ธ

๋‚ ์งœ| ์ด๋ฒคํŠธ  
---|---  
2026-08-17| ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋œ iOS 26.6.1 ๋ฆด๋ฆฌ์Šค  
2026-08-17| Apple ๋ณด์•ˆ ๊ถŒ๊ณ ์— ํฌ๋ ˆ๋”ง ๊ฒŒ์‹œ  
  
* * *

## ์ฐธ๊ณ  ์ž๋ฃŒ

  * Apple ๋ณด์•ˆ ๊ถŒ๊ณ  โ€” iOS 26.6.1