
CVE-2026-43499에 대한 보호된 소스 전용 Humane AI Pin 루트 PoC
Humane AI Pin용 GhostLock은 하나의 정확한 리테일 펌웨어 빌드를 대상으로 하는 오픈소스, 부팅 범위 한정 root 개념 증명(proof of concept)입니다. 이는 일반적인 권한 부여된 ADB 셸에서 Linux rtmutex use-after-free인 CVE-2026-43499를 실행합니다.
러너는 의도적으로 좁은 범위를 가집니다. 무엇이든 준비하기 전에 전체 펌웨어 지문, 커널 빌드, 슬롯, 셸 UID 및 SELinux 상태를 확인합니다. 불일치가 발생하면 실행을 중단합니다.
[!WARNING] 이것은 커널 익스플로잇입니다. Pin을 패닉, 재부팅 또는 완전히 멈추게 할 수 있습니다. 완전한 멈춤은 기기의 플러그를 뽑고 배터리가 방전될 때까지 기다려야 할 수 있습니다. 소유하고 있고 복구할 여유가 있는 Pin에서만 사용하십시오. 재부팅하면 root는 사라집니다.
| 속성 | 허용되는 값 |
|---|---|
| 기기 | Humane AI Pin, 리테일 유닛 |
| 펌웨어 | qti/atoll/atoll:12/SKQ1.230401.001/101.000470.45.20:user/release-keys |
| Android | 12 |
| 커널 | 4.14.190-perf, 빌드 Mon Nov 4 18:37:23 PST 2024 |
| 슬롯 | _b만 |
| 아키텍처 | aarch64 |
| 프로필 | humane-aipin-45.20 |
| 커널 이미지 SHA-256 | d4f4e0deb20871fce207f1f095ba1934162081c2f10afaccbb2e6a1e938719fb |
| 릴리스 후보 재현 | 최종 클린 부팅 재현 대기 중 |
슬롯 _a, 개발자 펌웨어, 인접 펌웨어 버전 및 기타 Qualcomm atoll 제품은 거부됩니다. 호환성 세부 정보를 참조하십시오. 일치하는 Android 지문만으로는 이 검사를 우회하기에 충분하지 않습니다. A/B 슬롯은 동일한 사용자 공간 빌드 ID 아래에서 서로 다른 부팅 이미지와 커널 레이아웃을 가질 수 있습니다.
필요한 것:
adb, Python 3.10 이상, make 및 C 컴파일러;28.2.13676358 (r28c).이 저장소에는 ADB 개인 키, 펌웨어 이미지, 부팅 이미지, 버그리포트, 기기 로그 또는 사전 빌드된 페이로드가 포함되어 있지 않습니다.
Android의 명령줄 도구로 고정된 NDK를 설치하십시오:
sdkmanager "ndk;28.2.13676358"
ADB가 이미 Pin을 device로 인식하는지 확인하십시오:
$ adb devices
List of devices attached
YOUR_SERIAL device
저장소를 복제한 다음 모든 명령에 동일한 명시적 시리얼을 사용하십시오:
git clone https://github.com/TheAndersMadsen/humane-aipin-ghostlock.git
cd humane-aipin-ghostlock
./ghostlock check --serial YOUR_SERIAL
./ghostlock run --serial YOUR_SERIAL
./ghostlock verify --serial YOUR_SERIAL
check는 읽기 전용입니다. 감지된 펌웨어, 커널, 슬롯, 셸 경계, SELinux 상태, 배터리, 전원 및 NDK 리비전을 출력합니다.
run은 한 번의 보호된 시도를 수행합니다. ROOT YOUR_SERIAL을 입력하도록 요청하고, 소스에서 빌드하고, 푸시한 후 페이로드 해시를 확인하고, KASLR을 도출하기 위해 현재 부팅 버그리포트를 캡처하고, 기본적으로 해당 원시 버그리포트를 삭제하고, 두 번째 완전한 사전 점검 후에만 익스플로잇을 시작합니다.
verify는 부팅 범위 한정 root 브로커에게 독립적으로 id와 getenforce를 실행하도록 요청합니다.
성공적인 검증은 다음과 같습니다:
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
SELinux: Permissive
Boot epoch: <redacted>; uptime: <redacted>s
정확한 SELinux 컨텍스트는 커널 및 펌웨어에 따라 다릅니다. 허용 조건은 동일한 부팅에서 SELinux가 permissive 상태인 브로커를 통한 UID/GID 0입니다.
현재 부팅에 대해 페이로드는:
init_cred로 교체합니다;/data/local/tmp/su에 작은 명령 클라이언트를 작성합니다;파티션을 쓰거나, 부트로더를 잠금 해제하거나, 모듈을 설치하거나, 검증된 부팅을 수정하거나, 재부팅 지속성을 생성하거나, 네트워크 서비스에 연결하거나, 텔레메트리를 업로드하지 않습니다.
다른 ADB 셸에서 root 명령을 실행하십시오:
adb -s YOUR_SERIAL shell '/data/local/tmp/su -c id'
러너는 커널 부팅당 한 번의 시도를 허용합니다. 미스, 타임아웃, 연결 끊김, 불확실한 상태, 패닉 또는 재부팅을 보고하면 해당 부팅에서 재시도하지 마십시오. 먼저 재부팅하고 check를 다시 실행하십시오.
ADB가 여전히 응답하면:
adb -s YOUR_SERIAL reboot
Pin이 완전히 멈추고 ADB가 응답하지 않으면 모든 외부 전원을 분리하십시오. 테스트된 리테일 하드웨어에는 사용자가 접근할 수 있는 신뢰할 수 있는 강제 재시작이 없으므로, 복구를 위해서는 전원을 다시 연결하기 전에 배터리가 방전될 때까지 기다려야 할 수 있습니다.
정상 재부팅 후 root는 사라집니다. 준비된 파일은 /data/local/tmp 아래에 비활성 상태로 남을 수 있습니다; 깨끗한 셸에서 제거할 수 있습니다:
adb -s YOUR_SERIAL shell + 'rm -f /data/local/tmp/ghostlock-aipin.so /data/local/tmp/su + /data/local/tmp/.ghostlock-su.sock + /data/local/tmp/.ghostlock-aipin-attempt'
PoC를 사용하기 전에 SAFETY.md를 읽고, 실패한 실행을 재시도하기 전에 TROUBLESHOOTING.md를 읽으십시오.
실행 기록은 모드 0700 임시 디렉터리에 작성됩니다. 여기에는 기기 시리얼, 부팅 ID, 커널 주소 및 익스플로잇 텔레메트리가 포함됩니다. 해당 디렉터리나 원시 Android 버그리포트를 이슈에 절대 첨부하지 마십시오.
대신 축소된 보고서를 생성하십시오:
./ghostlock report /private/tmp/ghostlock-aipin-TIMESTAMP + --output ghostlock-report.json
공유하기 전에 JSON을 검토하십시오. 리댁터는 시리얼, 부팅 ID, 호스트 경로, 원시 명령 출력 및 커널 주소를 생략합니다. PRIVACY.md를 참조하십시오.
Android 페이로드 빌드:
./ghostlock build
모든 호스트 테스트 및 두 개의 독립적인 빌드 실행:
./scripts/verify-release.sh
페이로드는 다음 위치에 작성됩니다:
source/build/humane-aipin-45.20/bin/preload.so
빌드 산출물은 Git에서 무시됩니다. 릴리스 자산은 해당 GitHub 릴리스에 첨부된 체크섬과 대조하여 검증해야 합니다.
익스플로잇은 CVE의 댕글링 스택 상주 rt_mutex_waiter를 사용하여 제어된 레드-블랙 트리 업데이트를 라우팅합니다. KernelSnitch는 먼저 futex-hash 타이밍을 통해 mm_struct 주소를 유출합니다. 그런 다음 동일 PFN perf-event 게이트는 손상 트리거가 진행되기 전에 해제된 order-3 슬랩 페이지가 제어된 소켓 버퍼 데이터에 의해 재할당되었음을 증명합니다. 부팅에 바인딩된 KASLR 베이스는 최소 두 개의 일치하는 현재 부팅 WARN 앵커에서 도출됩니다. 결과적인 읽기/쓰기 경로는 현재 태스크를 해결하고 부팅 범위 한정 자격 증명 변경을 수행합니다.
대상 프로필에는 이 경로에서 소비되는 오프셋과 심볼만 포함됩니다. 커널 이미지와 전체 심볼 테이블은 배포되지 않습니다. TECHNICAL.md는 단계와 fail-closed 게이트를 설명합니다.
이것은 지원되지 않는 소비자 기기를 위한 실험적 연구 릴리스입니다. 일반적인 Android 루팅 도구가 아니며 Humane, HP 또는 CosmOS와 제휴하지 않습니다.
코드는 Apache-2.0에 따라 라이선스가 부여됩니다. 구현은 NebuSec의 Apache-2.0 CyberMeowfia 작업에서 시작되었습니다; AI Pin 포팅 및 릴리스 도구는 PROVENANCE.md 및 THIRD_PARTY_NOTICES.md에 문서화되어 있습니다.
취약점이나 오용 우려를 보고하기 전에 SECURITY.md를 읽어 주십시오.