Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-65330 — 针对 iOS 26.6 上 tmpfs setxattr 处理器中已修复的 PAC 多样化器绕过漏洞的概念验证,演示了从用户空间触达易受攻击的签名路径的可能性。 | Kitploit
工具/GitHubGitHub/bytev0rtex/cve-2026-65330
权限提升iOS安全漏洞分析漏洞利用逆向工程移动安全二进制利用
GitHubbytev0rtex/cve-2026-65330

CVE-2026-65330

针对 iOS 26.6 上 tmpfs setxattr 处理器中已修复的 PAC 多样化器绕过漏洞的概念验证,演示了从用户空间触达易受攻击的签名路径的可能性。

查看仓库
19小时41分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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 多样化器
影响: 从内核上下文控制 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 处理器,它使用固定的、编译时常量 PAC 多样化器:#0x307a 对 xattr 处理器函数指针进行签名。

root@kitploit:~
; XNU 内核 — default_setxattr_doubleagent(反编译)
handler_ptr = vnode_operations[VNOP_SETXATTR_SLOT];   // 从 vnop 表中读取
signed_ptr  = PACDA(handler_ptr, 0x307a);             // 使用固定多样化器签名
... call AUTDA(signed_ptr, 0x307a) → BLR             // 认证并跳转

由于多样化器是固定的且公开已知,拥有内核写入原语的攻击者可以:

  1. 伪造指向任意内核地址的 PAC 签名指针:
    forged = PACIA(shellcode_addr, 0x307a)
  2. 将 forged 写入目标 vnode 的 vnode_operations 表中相应槽位。
  3. 对 tmpfs 挂载点上的任意文件调用 setxattr() → 内核执行 shellcode_addr。

漏洞利用链中的角色

在 iOS 26.6 内核提权链中:

root@kitploit:~
CVE-2026-64788 (IOGPUFamily UAF)  →  内核读写原语
CVE-2026-65330 (本漏洞)           →  PC 控制 → root (uid=0)

sign_ptr 原语(使用多样化器 #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
  • 运行 10 次迭代的压力测试以确认 VNOP 被重复调用
  • 调用 removexattr() 以命中清理路径
  • 清理测试文件

该 PoC 不会伪造 PAC 指针或覆盖任何内核数据——它仅演示了易受攻击的 #0x307a 签名路径可通过正常的 setxattr() 系统调用从用户空间触达。


要求

  • 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

多样化器验证

固定多样化器 0x307a 已通过 26.6 (23G71) 内核缓存的反汇编验证:

root@kitploit:~
; default_setxattr_doubleagent + 0x??(近似)
MOVZ  x1, #0x307a          ; 多样化器常量
PACDA x0, x1               ; 签名处理器指针

调用点处对应的 AUTDA x0, x1 使用相同的常量,确认任何使用多样化器 0x307a 的 PACIA 伪造指针都能成功通过认证。


时间线

日期事件
2026-08-17发布 iOS 26.6.1 修复版本
2026-08-17Apple 在安全公告中发布致谢

参考

  • Apple 安全公告 — iOS 26.6.1
下载工具