
⚠️ 仅用于研究与安全防御目的 / For research and defensive purposes only
本仓库所有内容由 DeepSeek AI 生成,仅用于安全研究、漏洞分析和防御性安全评估。 All content in this repository is generated by DeepSeek AI, for security research, vulnerability analysis, and defensive security assessment only.
标准利用链不适用 / Standard exploit chain NOT applicable
CVE-2026-43499 漏洞存在且可通过 futex PI race 触发(EDEADLK 确认),但 Qualcomm 重写了 rtmutex 核心代码(rbtree → bitmap/链表),标准 IonStack 的写原语(rb_erase 约束写)在此内核上不存在。
The CVE-2026-43499 vulnerability exists and is reachable via futex PI race (EDEADLK confirmed), but Qualcomm rewrote the rtmutex core code (rbtree → bitmap/linked-list). The standard IonStack write primitive (rb_erase constrained write) does not exist on this kernel.
| 项目 / Item | 值 / Value |
|---|---|
| 设备型号 / Model | Logitech G Cloud (HALO) |
| 固件版本 / Firmware | SQ02K.60.0228 (2025-08-27) |
| SoC | Qualcomm Snapdragon 720G (SM7125, ATOLL) |
| GPU | Adreno 618 (700MHz) |
| CPU | Kryo 465: 2×Cortex-A76 @2.3GHz + 6×Cortex-A55 @1.8GHz |
| 制程 / Process | 8nm |
| 内存 / RAM | 4GB LPDDR4X |
| 存储 / Storage | 64GB UFS |
| 显示屏 / Display | 7-inch IPS LCD, 1920×1080, 60Hz |
| 电池 / Battery | 6000mAh |
| 连接 / Connectivity | Wi-Fi 5, Bluetooth 5.1, USB-C 3.1 |
| 内核 / Kernel | Linux 4.14.190-perf+ (Clang 10.0.7, GNU ld 2.27) |
| 内核编译 / Kernel Build | scm@a9b0f71b66dc, SMP PREEMPT, 2025-08-27 |
| 内核基线 / Kernel Base | Qualcomm LA.UM.9.1.r1-09200-SMxxx0.0 |
| Android 版本 | Android 11 (API 31) |
| 编译方 / Built by | Tencent Level Infinite (Zing build system) |
| Bootloader | 锁定 / Locked, avb=vbmeta, dm-verity 开启 |
| KASLR | 开启(可通过 perf_event_open 绕过)/ Enabled (bypassable) |
| 内核防护 / Protections | KPTI ✅ / PAN ✅ / SCS ❌ / CFI ❌ / PAC ❌ |
| SELinux | Enforcing |
| 硬件 ID | GR0006 (Logitech HALO CN) |
| 软件合作方 | Logitech (硬件) + Tencent Games (软件) |
📥 Mega.nz 下载链接 / Download Link:
[https://mega.nz/folder/I2MUkQyD#n6bG8gzsjqKNdpk8napniQ]包含文件 / Included files:
Logitech-HALO_CN-SQ02K.60.0228-USER.zip— 完整固件 (1.37 GB)boot.img— 完整 boot 镜像 (64 MB)kernel— 未压缩 ARM64 内核 (35 MB)kernel.gz— 压缩内核 (15 MB)ramdisk— 启动 ramdisk (87 KB)config.txt— 完整内核编译配置 (61 KB)
GhostLock-SD720G-CVE-2026-43499/
├── exploit/ # 内核利用源码与二进制 / Kernel exploit source & binaries
│ ├── sd720g_exploit.c # 主利用程序(竞争触发 + KASLR + 日志)/ Main exploit
│ ├── sd720g_exploit # 已编译 ARM64 二进制 (2.1 MB) / Compiled binary
│ ├── target_sd720g.h # 核心符号偏移(12 个函数)/ Core symbol offsets
│ ├── target_sd720g_complete.h # 完整 37 符号表 / Full symbol table
│ ├── perf_leak_sd720g.c # KASLR 基址泄露工具 / KASLR base leak
│ ├── perf_leak # 已编译二进制 (2.1 MB) / Compiled binary
│ └── compile_perf_leak.bat # NDK 编译脚本 / NDK build script
│
├── preload/ # LD_PRELOAD 共享库 / Shared library
│ ├── sd720g_preload.c # 构造函数自动执行利用 / Constructor-based exploit
│ ├── arm.so # 已编译 ARM64 .so (16 KB)
│ └── compile_preload.bat # 编译脚本 / Build script
│
├── tools/ # 分析与提取脚本 / Analysis & extraction scripts
│ ├── extract_kallsyms.py # 纯 Python kallsyms 解析器 (PIE 感知) / kallsyms parser
│ ├── extract_symbols.py # 符号偏移提取器 / Symbol offset extractor
│ ├── find_ghostlock_bug.py # 二进制搜索 pi_blocked_on=NULL 模式 / Bug pattern search
│ ├── reanalysis.py # 0x105aeb0 与 rb_erase 调用链追踪 / Call chain trace
│ ├── trace_waiter.py # rt_mutex_waiter 字段写操作搜索 / Field write search
│ ├── analyze_pi_state.py # pi_state 分配/释放生命周期分析 / Lifecycle analysis
│ └── kgsl_uaf_test.c # KGSL GPU UAF 触发测试 / GPU UAF trigger test
│
├── docs/ # 综合分析文档 / Analysis documents
│ ├── CVE2026-43499_SD720G_分析.md # 完整分析报告(中文)/ Full analysis report
│ ├── GHOSTLOCK_SD720G_PORT_RECORD.md # 移植记录与发现 / Porting record
│ ├── CVE2026-43499_SD720G_参考数据汇总.md # 参考数据与符号表 / Reference data
│ ├── ALTERNATIVE_STRATEGY.md # 替代攻击路径 / Alternative paths
│ ├── HEAP_ANALYSIS.md # 堆 / pi_state 生命周期 / Heap lifecycle
│ ├── STACK_ANALYSIS.md # 栈回收可行性 / Stack reclaim feasibility
│ ├── WRITE_PRIMITIVE.md # 写原语研究 / Write primitive research
│ ├── BOOT_ANALYSIS.md # 启动镜像结构 / Boot image structure
│ └── FINAL_ANALYSIS.md # 最终结论 / Final conclusions
| 项目 / Item | 说明 / Note |
|---|---|
| KASLR 泄露 / KASLR Leak | perf_event_open 通过 PERF_TYPE_SOFTWARE 可正常工作(paranoid=-1) |
| Futex PI 竞争 / Race | EDEADLK (errno=35) 确认死锁路径可达 |
| 符号提取 / Symbol Extraction | 从 kallsyms 提取 37 个符号(含 commit_creds, prepare_kernel_cred, init_task 等) |
| LD_PRELOAD 加载 | arm.so 编译正常,设备上可加载执行 |
| 项目 / Item | 原因 / Reason |
|---|---|
| Qualcomm Bitmap RT Mutex | rt_mutex_adjust_prio_chain 使用 bitmap 优先队列替代标准 rbtree |
| 无栈上 Waiter | remove_waiter 帧仅 0x30(48 字节),无局部 struct rt_mutex_waiter |
| 死代码 / Dead Code | remove_waiter (0xCEAA0) 在内核二进制中无直接调用者 |
| 无 rb_erase 链 | 0x105aeb0 是 ring buffer 操作函数,不是 rb_erase |
| pi_state 生命周期 | 使用 refcount+RCU 而非直接 kfree,与标准 Linux 不同 |
| Big.LITTLE | KernelSnitch mm_struct 泄露在 A76+A53 异构 CPU 上失败 |
| CONFIG_CRYPTO_USER_API_AEAD | 未启用 — CVE-2026-31431 (Copy Fail) 不可利用 |
CVE-2026-43499 漏洞存在 / Vulnerability exists: ✅ (str xzr at 0xdbf10)
标准 IonStack 利用链 / Standard exploit chain: ❌ (Qualcomm 代码不同 / Code differs)
替代写原语 / Alternative write primitive: ⚠️ 当前分析未找到 / Not found
# 推送文件 / Push files
adb push preload/arm.so /data/local/tmp/
adb push exploit/perf_leak /data/local/tmp/
adb shell chmod 755 /data/local/tmp/arm.so /data/local/tmp/perf_leak
# 第一步:泄露 KASLR 基址 / Step 1: Leak KASLR base
adb shell /data/local/tmp/perf_leak
# 第二步:触发 GhostLock 竞争 / Step 2: Trigger GhostLock race
adb shell LD_PRELOAD=/data/local/tmp/arm.so env
# 崩溃后查看 dmesg / After crash, check dmesg
adb shell dmesg | grep -A 30 "PC\|Call trace\|Internal error"
仅用于研究 / For Research Purposes Only
本仓库内容仅用于网络安全研究与防御目的。作者不对任何滥用行为负责。 This repository is for cybersecurity research and defensive purposes only. The authors are not responsible for any misuse.
由 DeepSeek AI 生成 / Generated by DeepSeek AI
本仓库所有代码和分析内容均由 DeepSeek AI 辅助生成,仅供学习研究参考。 All code and analysis in this repository were generated with assistance from DeepSeek AI for educational and research reference only.