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

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

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

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

工具目录

分类

查看所有分类
Loading categories
agxprobe — CVE-2026-64747 AGXG14P count-bitmask OOB 触发探针 (A15/iOS 26.5.2) | Kitploit
工具/GitHubGitHub/jiuyi155/agxprobe
iOS安全漏洞分析漏洞利用逆向工程模糊测试移动安全二进制利用
GitHubjiuyi155/agxprobe

agxprobe

CVE-2026-64747 AGXG14P count-bitmask OOB 触发探针 (A15/iOS 26.5.2)

查看仓库
111天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

AGXProbe — CVE-2026-64747 触发探针

目标:运行 iOS 26.5.2 的 iPhone 13(A15)。此应用会反复冲击 AGXG14P GPU 的命令队列路径,这些路径很可能通向每个队列的计数位掩码(count >= 0x400 → 越界写入 0x40 字节槽位 → 内核堆损坏)。

目前已知信息(逆向,2026-08-10)

  • 存在漏洞的函数 0xfffffff008003a8c(26.5.2):x1 = 32 位计数掩码。 对于每个置位的位 n,它会将一个 0x40 字节的固定模板 (00 00 00 00 + FF×60)复制到 obj+0x1040+n*0x40 和 obj+0x1540+n*0x40。 26.6 修复:拒绝 count >= 0x400(即任何位 ≥ 10)。合法槽位为 0..9。
  • 该掩码在一次提交的批次中,由每条命令的 [cmd+0x14] 字段 (包装函数 0xfffffff00800c9d0)按 OR 累加。批次槽位数组 (10 个槽位 × 0x40)位于对象偏移 0x1040 / 0x1540 处。
  • count 无法通过任何静态调用/字面量到达——该函数是通过 运行时构建的分派表(间接 PAC 调用)到达的。
  • 未知:哪个用户态旋钮会写入 [cmd+0x14](或该掩码)。这正是 本探针试图通过经验方法发现的内容。

触发假设

在一个提交的批次中,某条命令的 0x14 字段(或整个批次的 OR 结果) 设置了位 ≥ 10。因此,本探针会用高位值冲击所有可能的外表面: 共享事件信号值 1<<k(k=0..31)、密集掩码(0x3FF|0x400..0xFFFFFFFF)、 256 缓冲区的单一批次、围栏、渲染 + 计算 + 拷贝、32 个队列。

如果探针触发了该漏洞,预期症状按严重程度递增排列如下:

  1. 应用在运行过程中被系统杀死(队列被破坏后用户态侧的效应)。
  2. 整个设备重启(越界堆写入命中活动对象导致内核崩溃)。← 最强信号。
  3. 什么都没发生(count 无法通过这些 API 控制 → 需要不同的触发面; 请回报日志)。

安装 — 预构建的 ipa(CI 构建,未签名)

现成的 ipa 由 GitHub Actions 在每次推送时自动构建,并投放到最新一次 运行的 build artifacts 中(AGXProbe.ipa)。它是未签名的, 因此请使用任意免费 Apple ID 侧载工具安装:

  • Windows:Sideloadly(或 AltStore)。 添加 ipa,输入你的 Apple ID,点击 Start。应用可安装 7 天。
  • macOS:Sideloadly 或 Xcode(见下方 Build)。

当前 ipa:bundle id com.agxprobe.test,arm64,MinOS 17.0。 如果侧载工具拒绝该 bundle id,请使用唯一 id 重新签名。

从源码构建(需要 Mac——任意 Mac 均可,免费 Apple ID 就行)

  1. 在 Xcode(16.x)中打开 AGXProbe.xcodeproj。
  2. 在项目 → target AGXProbe → Signing & Capabilities 中:
    • 勾选 Automatically manage signing,
    • 选择你的 Team(你的免费 Apple ID / personal team),
    • 将 PRODUCT_BUNDLE_IDENTIFIER(例如 com.you.agxprobe1)改为 任意唯一值,以便签名成功。
  3. 连接 iPhone 13(iOS 26.5.2),将其选为运行目标 (选择 Device,而不是模拟器)。
  4. 按 Cmd-R。如果出现 "preferred signer" / provisioning 错误,请在 设备提示时点击 Enable Development,然后重试。

运行

  1. 启动应用。它会将 GPU 设备名显示在屏幕上——请确认显示的是 A15 GPU (例如 "Apple A15 GPU")而不是模拟器。
  2. 按下 START。观察绿色控制台日志。
  3. 阶段每 200 次迭代自动循环: eventStorm → inFlight → fenceStorm → multiQueue → computeHeavy → chainedEvents → mixed → (repeat)。
  4. 让它运行几分钟。保持设备唤醒(关闭自动锁定: 设置 → 显示与亮度 → 自动锁定 → 永不)。

读取结果

  • 设备自行重启 → 探针触发了越界写入。此时请抓取崩溃日志 (见下文)——这既能确认触发点,也能为我们提供用于堆风水布局的崩溃位置。
  • 应用被系统杀死(主屏一闪,"AGXProbe quit")→ 可能是部分命中; 也请收集日志。
  • 5 分钟以上仍在运行 → count 很可能无法通过这些确切 API 到达。 请保存设备端日志(agxprobe.log,位于应用的 Documents 中,因为 UIFileSharingEnabled 已开启,可通过“文件”应用访问)并发回。

获取崩溃日志

如果系统崩溃: 设置 → 隐私与安全性 → 分析与改进 → 分析数据 → 找到最新的 panic-full-<date>(如果应用被杀则是 JetsamEvent / ipa-log-<timestamp>)→ 共享 / AirDrop / 复制其末尾部分。

"panic(cpu ...)" 之后的前几行会显示崩溃的内核函数——请将这些行发回。

下载工具