
罗技云掌机 · GhostLock CVE-2026-43499 root 尝试
⚠️ 오직 연구 및 보안 방어 목적으로만 사용 / 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.