
OnePlus Ace 6 임시 루트 도구 (CVE-2026-64560) - bootidParent 주소를 수정한 기기 검증 포트
CVE-2026-64560(Linux 커널 POSIX CPU timer UAF) 취약점을 통해 OnePlus Ace 6 현재 부팅 주기의 임시 root 권한을 획득합니다. 재부팅 후에는失效되며, 시스템 파티션을 수정하지 않습니다.
[!WARNING] 기기가 재부팅되거나 데이터가 손실될 수 있습니다. 본인 소유의 기기에서만 사용하고, 작업 전 중요한 데이터를 백업하세요.
| 항목 | 정보 |
|---|---|
| 기기 | OnePlus Ace 6 (OP6113L1) |
| 펌웨어 지문 | OnePlus/PLQ110/OP6113L1:16/BP2A.250605.015/... |
| 커널 버전 | 6.6.118-android15-8-... |
시스템 버전 지문이 일치하지 않으면 도구가 실행을 거부하고 TARGET_PROFILE_GATE_FAIL을 표시합니다.
adb 설치 완료(다운로드 링크, 압축 해제 후 경로를 시스템 PATH에 추가)본 저장소의 Releases 페이지로 이동하여 최신 버전의 cve-2026-64560-fanout-opace6를 다운로드합니다.
다운로드한 파일을 기억하기 쉬운 위치(예: 바탕 화면)에 둡니다.
USB 케이블로 휴대폰과 컴퓨터를 연결하고, 휴대폰에 뜨는 팝업에서 「USB 디버깅 허용」을 탭합니다.
터미널을 엽니다(Windows는 Win+R을 누르고 cmd 입력 후 Enter). 기기가 연결되었는지 확인합니다:
adb devices
기기 시리얼 번호가 device 상태로 표시되어야 합니다. unauthorized로 표시되면 휴대폰에서 허용을 탭하세요.
Windows:
adb push C:\Users\你的用户名\Desktop\cve-2026-64560-fanout-opace6 /data/local/tmp/
adb shell chmod 777 /data/local/tmp/cve-2026-64560-fanout-opace6
macOS / Linux:
adb push ~/Desktop/cve-2026-64560-fanout-opace6 /data/local/tmp/
adb shell chmod 777 /data/local/tmp/cve-2026-64560-fanout-opace6
주의: 반드시
777권한을 부여해야 하며,755는 Permission denied 오류가 발생합니다.
먼저 사전 검사를 실행하여 기기에서 사용 가능한지 확인합니다:
adb shell /data/local/tmp/cve-2026-64560-fanout-opace6 --preflight
PREFLIGHT_PASS가 보이면 모든 것이 정상이며 계속 진행할 수 있습니다.
TARGET_PROFILE_GATE_FAIL이 보이면 시스템 버전이 일치하지 않아 사용할 수 없습니다.
이 도구는 커널 경쟁 조건(race condition)을 이용하므로 확률적이며, 여러 번 시도하거나 여러 번 재부팅해야 할 수 있습니다.
자동 스크립트가 재시도를 도와주며, 기기 자동 재부팅, 냉각 대기, 성공 감지를 포함합니다.
Windows:
본 저장소의 scripts\boot-campaign.bat와 다운로드한 payload를 같은 폴더에 두고,
CMD에서 해당 폴더로 이동한 뒤 실행합니다:
boot-campaign.bat -n 6
-n 6은 최대 6회 재부팅 시도를 의미합니다. 스크립트가 자동으로:
macOS / Linux:
sh scripts/boot-campaign.sh -p cve-2026-64560-fanout-opace6 -n 6
(선택 사항: -u cve-2026-64560-su로 temp-su 경로를 지정하면, 성공 후 root 세션을 여러 터미널에서 사용할 수 있습니다.)
adb shell /data/local/tmp/cve-2026-64560-fanout-opace6 --run
성공하지 못한 경우(ROOT_SUCCESS가 보이지 않는 경우) 휴대폰을 재부팅한 후 다시 시도하세요. 휴대폰이 뜨겁지 않을 때 시도하는 것을 권장합니다.
CPU 온도가 너무 높으면 성공률이 떨어집니다.
성공하면 ROOT_SUCCESS / ROOT_CHILD_HOLD_PASS가 보입니다.
root shell은 --run을 실행한 그 터미널 창에 있습니다(exploit이
interactive root child; exit to finish를 표시합니다). 바로 id를 입력하여
uid=0(root)가 보이면 root 권한을 획득한 것입니다.
다른 터미널에서 root를 사용하려면 먼저 root 세션을 상주시켜야 합니다:
cve-2026-64560-su를 획득하여(Release에는 없으며, 저장소의
Actions 빌드 산출물을 참조하거나,
Android NDK로 src/temp-su.c를 컴파일) 휴대폰으로 푸시합니다:
adb push cve-2026-64560-su /data/local/tmp/su
adb shell chmod 755 /data/local/tmp/su
exploit의 root shell에서 실행합니다:
/data/local/tmp/su --daemon
이후 임의의 터미널에서 adb shell /data/local/tmp/su를 실행하고 id를 입력하여 확인합니다.
주의:
boot-campaign.bat/boot-campaign.sh를 사용할 때는cve-2026-64560-su와 payload를 같은 디렉터리에 두면(또는-u로 경로 지정) 스크립트가 자동으로 푸시하고 daemon을 시작합니다.
중요: root 권한은 이번 부팅에서만 유효하며, 휴대폰 재부팅 후에는 다시 실행해야 합니다. boot, vendor, system 파티션을 수정하지 않으며 OTA 업데이트에 영향을 주지 않습니다.
업스트림: NebuSec/CyberMeowfia. 구체적인 수정 및 Linux 패치는 docs/UPSTREAM.md를 참조하세요. Apache License 2.0; LICENSE 및 NOTICE를 참조하세요.