Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tcp-zerocopy-sm — ghostlock + tcp-zerocopy hybrid CVE-2026-43499 adaptation for samsung kernel | Kitploit
도구/GitHubGitHub/meowkis/tcp-zerocopy-sm
Android SecurityPrivilege EscalationExploitationMobile SecurityBinary ExploitationArchived
GitHubmeowkis/tcp-zerocopy-sm

tcp-zerocopy-sm

ghostlock + tcp-zerocopy hybrid CVE-2026-43499 adaptation for samsung kernel

저장소 보기
28일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

Investigation is closed. Working fork: https://github.com/soumarcelino/Root-My-Galaxy-SM-S918B

Read this -> https://github.com/BuSung-dev/Root-My-Galaxy-Payloads/issues/160#issuecomment-5227077583

Version License License

Attempts to cause rights elevation w GhostLock via TCP Zerocopy.

Designed expecially for 5.15.* samsung kernel

[!WARNING] Do not rely on current payload tests. After reviewing the exploit code more carefully, I realized I had misidentified the CVEs associated with the TCP zerocopy path. The standalone payload tests I ran were incorrect. Isolated payload tests without the full exploit chain prove nothing. I will update this issue once the complete port is tested.

[!IMPORTANT] The only reliable way to determine if this vector still works on the SM-S918B is to port the full Pixel 9 exploit (including the GhostLock dangling waiter setup, CFI stage, and configfs R/W primitives) and observe whether it reaches main tcp route done=1. I will continue working on this port, but there is no ETA.

🚧 Work in progress (v0.1):
Investigating the flow to build porting strategy .

Project

CyberMeowfia/exploit/src/ is reference only! Samsung device config was added for testing here and doesn't mean anything. The actual port will be in src/

Current target

Test payloads are stored in payloads/. The active constants are stored in target.h.

You can verify if your S23 family phone is vulnerable by compiling and running test_tcp_zc.c

Compiling

root@kitploit:~
export NDK=~/Android/Sdk/ndk/android-ndk-r29 #path_to_ndk

$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang -static -O2 test_tcp_zc.c -o test_tcp_z

Running the penetration test

root@kitploit:~
adb push test_tcp_zc /data/local/tmp/
adb shell chmod +x /data/local/tmp/test_tcp_zc
adb shell /data/local/tmp/test_tcp_zc

What should be happened

root@kitploit:~
If kernel panics then is vulnerable to this exploit!

Kimi's analyzed fops.c

Click to view

Other stuff

Click to view Reference: https://github.com/NebuSec/CyberMeowfia/blob/main/IonStack/CVE-2026-43499/exploit/src/targets/tokay-CP2A.260605.012 especially /fops.c

Build CyberMeowfia

root@kitploit:~
export ANDROID_NDK_HOME=/root/Android/Sdk/ndk/android-ndk-r29 #path_to_ndk
make clean
make PROJECT=tokay-CP2A.260605.012 API=36
root@kitploit:~
adb push preload.so /data/local/tmp/
adb shell chmod +x /data/local/tmp/preload.so
adb shell "LD_PRELOAD=/data/local/tmp/preload.so /system/bin/id"

TODO

basically spied from existing S25U port based on pselect

root@kitploit:~
Add tracefs-based KASLR slide recovery for this Samsung kernel.
Port CFI/FOPS stage, physical read/write primitive.
Add the device-specific system_unbound_wq user-mode-helper root path.
Add isolated retry processes with the device-tuned pselect delay sequence.
Retain reclaimed pages after success to avoid recycling live forged objects.

Responsible use

This project is intended for education and authorized research on devices you own or have explicit permission to test. Kernel experiments can cause data loss, boot loops, or require a reflash. Use a dedicated test device, keep backups, and never carry offsets across firmware builds without revalidating them!

도구 다운로드
PropertyValue
DeviceSamsung Galaxy S23 Ultra, dm3q / SM-S918B
BuildS918BXXSAFZF5
Android version16
Kernel5.15.189-android13-8-33413713-abS918BXXSAFZF5
Fingerprintsamsung/dm3qxxx/dm3q:16/BP4A.251205.006/S918BXXSAFZF5:user/release-keys
ArchitectureARM64
Kernel text base0xffffffc008000000
Physical base0x80000000
Physical kernel load address0x80080000
StepStageSyscall / PrimitiveWhat HappensData / Target
1Setup—Validate page_base, fake_lock, fake_fopsAbort if any is zero
2Setupsocket() ×2main_tcp_make_pair() creates connected TCP pairclient_fd + server_fd on 127.0.0.1
3Setupmemfd_create()Create anonymous memfd for punchpunch_fd
4Setupfallocate()Pre-allocate 16 MiB on memfdMAIN_TCP_PUNCH_SHMEM_LEN
5Setupmmap()Map memfd R/W into userspacemap pointer
6Setuppthread_create()Start main_tcp_punch_threadLoop: alloc → PUNCH_HOLE → free pages
7Racesend()Send 64-byte sendbuf to server socketMSG_DONTWAIT, no MSG_ZEROCOPY
8Race—Spin until main_tcp_punch_phase == 0Sync with punch thread
9Race—Build zc[0x40] buffer for getsockoptzc[0x18]=map+ps, zc[0x20]=64, zc[0x28]=waiter_task, zc[0x30]=fake_lock
10Racegetsockopt()TCP_ZEROCOPY_RECEIVE on client socketKernel reads/writes zc structure
11Race—If i >= arm_seq (default 16): arm consumerpunch_consume_go = i → trigger GhostLock consumer
12Race—wait_for_consumer_idle() + spinWait for consumer to process dangling waiter
13Trigger—Check consumer_calls / consumer_successIf counters increased → race hit
14CFI—run_cfi_stage_on_worker() → try_cfi_stage()Enter arbitrary R/W stage
15CFIopen()open_ashmem_device() → open /dev/ashmemfd for hijacked fops
16CFIconfigfs_write_once()Arbitrary write test payload to binwrite_target"CFI_FRIENDLY_CONFIGFS_BIN_WRITE_OK"
17CFIconfigfs_write_once()If MAIN_TCP_PAYLOAD: zero fake_fops + FOPS_READ_OFFDisable read slot
18CFIconfigfs_read_once()Read back payload from binwrite_targetVerify arbitrary read works
19CFIconfigfs_read_once()Read misc_fops (ashmem fops pointer)Verify it equals fake_fops
20CFIconfigfs_write_once()restore_slide_boot_id() — overwrite boot IDSLIDE_RANDOM_BOOT_ID_DATA → SLIDE_SYSCTL_BOOTID
21CFIconfigfs_read_once() ×4leak_kernel_base() — read ashmem fops slotsopen/ioctl/mmap/release/show_fdinfo
22CFI—Compute kaslr_base / kaslr_slide from leaked pointersValidate against expected offsets
23Privescpipe() + configfs_write_once()install_pipe_physrw() — stable pipe-based R/Wanon_pipe_buf_ops manipulation
24Privesc—cleanup_main_waiter_pi_state()Fix PI state of dangling waiter
25Privesc—install_android_root()Overwrite current->cred with init_cred
26Restoreconfigfs_write_once()Restore original ashmem_fops pointercanon_addr(ASHMEM_FOPS)
27Restoreconfigfs_write_once()Zero out fake_fops owner fieldPrevent UAF reuse
28Cleanupclose()Close ashmem fdReturn success / fail