Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
IonStack_S21 — 삼성 Galaxy S21을 대상으로 한 CVE-2026-43499 익스플로잇 체인 연구 | Kitploit
도구/GitHubGitHub/kurtulusakyuz/ionstack_s21
Android SecurityPrivilege EscalationVulnerability AnalysisExploitationReverse EngineeringPost-ExploitationMobile SecurityPapers & ResearchPayload DevelopmentBinary Exploitation
GitHub
87921일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
kurtulusakyuz/ionstack_s21

IonStack_S21

삼성 Galaxy S21을 대상으로 한 CVE-2026-43499 익스플로잇 체인 연구

저장소 보기

IonStack_S21 — Galaxy S21(SM-G991B) 대상 CVE-2026-43499 연구

이 기기를 위한, 현재 동작 중인 활성 KernelSU 프로젝트: kurtulusakyuz/dfroot-s21 — 거기서 시작하십시오. 이 저장소는 IonStack 연구만 유지합니다.

펌웨어 G991BXXSJHZC2를 실행하는 Samsung Galaxy S21(o1s)용 기기 전용 IonStack 페이로드. 상태: 연구 종료 — 결정론적 DoS 전용; 이 빌드에서는 커널 쓰기 경로가 불가능함이 입증됨. 전체 증거는 RESEARCH.md 참조.

FieldValue
ModelSM-G991B
Deviceo1s
FirmwareG991BXXSJHZC2
Android15 / API 35 (AP3A.240905.015.A2, fingerprint samsung/o1sxeea/o1s)
Page size4096
Kernel5.4.242-30958140-abG991BXXSJHZC2
SoCExynos 2100
MitigationsCFI+PAC+PAN/UAO, KDP_CRED, SELinux enforcing, no userfaultfd

NebuSec/CyberMeowfia에 게시된 IonStack CVE-2026-43499 구현 (업스트림 b850d3bddc74c3328d5fbcc0568d21962b55d949)과 BuSung-dev/CVE-2026-43499-S25U를 기반으로 하며, F-19-F/IonStackQuest3에 감사를 표합니다. 업스트림 Apache License 2.0은 LICENSE에 유지됩니다(NOTICE 참조).

최종 상태 (먼저 읽어 보십시오)

이 기기용 GhostLock 쓰기 프로그램은 일시 중지된 것이 아니라 완료되어 종료되었습니다. 입증된 내용을 순서대로 정리하면:

  1. 버그는 실제로 존재하며 현재도 존재합니다. remove_waiter()가 waiter->task->pi_blocked_on 대신 current->pi_blocked_on을 지우므로, FUTEX_CMP_REQUEUE_PI 롤백이 스택의 rt_waiter에 대한 댕글링 포인터를 남깁니다. 업스트림 수정 3bfdc63은 5.4.242에 없습니다.
  2. 트리거는 신뢰할 수 있습니다. 3-스레드 사이클(owner → chain → waiter → target 교착, 메인 CMP가 EDEADLK로 실패)에 소비자 sched_setattr을 더하면 기기와 동일한 Oops (rt_mutex_adjust_prio_chain+0x108 → _raw_spin_trylock+0x1c, fault VA 0)가 KDP 없는 QEMU 게스트와 실제 폰 (lastkmsg 118/119) 양쪽에서 재현됩니다. 댕글링 슬롯은 완전히 매핑되어 있습니다(스택 상단 E-0x328, 수명 주기는 QEMU+GDB로 특성화됨).
  3. 여기서 쓰기는 구조적으로 불가능합니다. 아홉 개의 syscall-spray 계열을 깊이 매핑했지만 어느 것도 슬롯에 도달하지 못합니다. slab-reclaim은 owner-liveness Catch-22로 차단되며, 결정적인 fire-time 덤프는 sigreturn 복사가 victim+0x40에만 전달되고 순회되는 게이트 필드 lock(+0x38)은 결코 공격자가 제어하지 못함을 보여줍니다(15/15 덤프). 독립적인 포팅(ASUS i005, AQUOS sigreturn 경로)도 같은 벽에 부딪힙니다. 확률이 아니라 기하학의 문제입니다.
  4. 살아남는 것은 결정론적 재부팅 프리미티브입니다. NULL-lock 순회는 커널을 패닉시키고 폰을 재부팅합니다 — 신뢰할 수 있는 DoS이며, 권한 상승은 아닙니다.

관련된 2026 커널 LPE 경로들도 이 빌드에서는 펌웨어 설정으로 모두 닫혔습니다(USER_NS, RDS, CRYPTO_USER_API_AEAD 모두 미설정; MFC_USE_DMABUF_CONTAINER=n으로 MFC double-free에 도달 불가; AF_ALG/eBPF는 셸에 대해 게이트됨). 쓰기 이후 산출물(이 정확한 펌웨어용으로 빌드된 KernelSU .ko + ksud)은 별도로 준비되어 있습니다. 이 트리의 src/kernelsnitch/ 헤더는 준비된 상태로 남아 있지만 빌드되지는 않았습니다(쓰기 없이는 소비자가 존재하지 않음).

레이아웃

Makefile                  build (NDK r27+, ANDROID_NDK_HOME)
src/                      exploit source (o1s profile only)
src/targets/o1s-G991BXXSJHZC2/  target.h + p0_fingerprint.h
src/kernelsnitch/         mm_struct leak (futex hash collision, staged)
tools/                    p0 fingerprint helper
RESEARCH.md               research notes (geometry, verdicts)

빌드

export ANDROID_NDK_HOME=/path/to/android-ndk
make clean all
# SLIDE_WRITER_SEL=1|2|3 selects mcast/sigreturn(default)/xattr writers.
# Unset selects the experimental pselect writer (see RESEARCH.md).

출력물(build/o1s-G991BXXSJHZC2/): cve-2026-43499 (LD_PRELOAD 페이로드), cve-2026-43499-app.so (앱 페이로드), cve-2026-43499-root (루트 헬퍼).

배포 및 실행

adb push build/o1s-G991BXXSJHZC2/cve-2026-43499 /data/local/tmp/cve-2026-43499
adb push build/o1s-G991BXXSJHZC2/cve-2026-43499-root /data/local/tmp/cve-2026-43499-root
adb shell chmod 755 /data/local/tmp/cve-2026-43499 /data/local/tmp/cve-2026-43499-root
adb shell "LD_PRELOAD=/data/local/tmp/cve-2026-43499 sh"
# on success:
adb shell "/data/local/tmp/cve-2026-43499-root -c 'id; getenforce'"

기대치 관리: 이 빌드에서 "성공"은 트리거 순회와 그 오라클 출력을 의미합니다 — NULL-lock 순회는 루트를 얻는 대신 기기를 재부팅시킵니다(위의 "최종 상태" 참조). 루트는, 미래의 쓰기 프리미티브를 통해 언젠가 달성된다 하더라도, 재부팅까지만 유지됩니다. 아무것도 플래시되지 않습니다.

상태 / 경고

  • DoS 전용, 쓰기 경로는 증거와 함께 종료됨 — 전체 설명 (슬롯 기하학, spray 폐쇄, SIGRETURN 그랜드 모델, 결정적 fire-time 덤프, 온디바이스 확인)은 RESEARCH.md를 참조하십시오.
  • 타이밍에 민감하며, 커널 패닉이 발생할 것으로 예상하십시오. 깨끗한 slab을 위해 재부팅하고, 실행 중에는 기기를 유휴 상태로 유지하십시오. /data/local/tmp는 재부팅 시 지워지므로 — 부팅할 때마다 바이너리를 다시 푸시하십시오.
  • 소유하고 있거나 테스트가 명시적으로 허가된 기기에서만 사용하십시오.
도구 다운로드