Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
tcp-zerocopy-sm — ghostlock + tcp-zerocopy ハイブリッド CVE-2026-43499 の Samsung カーネル向け適応 | Kitploit
ツール/GitHubGitHub/meowkis/tcp-zerocopy-sm
Androidセキュリティ特権昇格エクスプロイトモバイルセキュリティバイナリエクスプロイトArchived
GitHubmeowkis/tcp-zerocopy-sm

tcp-zerocopy-sm

ghostlock + tcp-zerocopy ハイブリッド CVE-2026-43499 の Samsung カーネル向け適応

リポジトリを見る
2252ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

調査は終了しました。作業フォーク: https://github.com/soumarcelino/Root-My-Galaxy-SM-S918B

こちらをお読みください -> https://github.com/BuSung-dev/Root-My-Galaxy-Payloads/issues/160#issuecomment-5227077583

Version License License

TCP Zerocopy 経由で GhostLock による権限昇格を引き起こす試み。

特に 5.15.* Samsung カーネル向けに設計

[!WARNING] 現在のペイロードテストに依存しないでください。 エクスプロイトコードをより注意深く確認した結果、TCP zerocopy パスに関連する CVE を誤って特定していたことに気づきました。私が実行した単体のペイロードテストは不正確でした。 完全なエクスプロイトチェーンを伴わない単体のペイロードテストは何も証明しません。完全な移植版がテストでき次第、この issue を更新します。

[!IMPORTANT] このベクターが SM-S918B でまだ機能するかどうかを判断する唯一の信頼できる方法は、Pixel 9 の完全なエクスプロイト(GhostLock のダングリングウェイター設定、CFI ステージ、configfs の R/W プリミティブを含む)を移植し、それがメインの tcp ルートで done=1 に到達するかを観察することです。この移植作業は継続しますが、ETA はありません。

🚧 作業中 (v0.1):
移植戦略を構築するためにフローを調査中です。

プロジェクト

CyberMeowfia/exploit/src/ は参照専用です!Samsung デバイスの設定はここでのテスト用に追加されたものであり、特に意味はありません。実際の移植版は src/ に置かれます。

現在のターゲット

プロパティ値
デバイスSamsung Galaxy S23 Ultra、dm3q / SM-S918B
ビルドS918BXXSAFZF5
Android バージョン16
カーネル5.15.189-android13-8-33413713-abS918BXXSAFZF5
フィンガープリントsamsung/dm3qxxx/dm3q:16/BP4A.251205.006/S918BXXSAFZF5:user/release-keys
アーキテクチャARM64
カーネルテキストベース0xffffffc008000000
物理ベース0x80000000
物理カーネルロードアドレス0x80080000

テストペイロードは payloads/ に保存されています。 有効な定数は target.h に保存されています。

S23 ファミリーの端末が脆弱かどうかは、test_tcp_zc.c をコンパイルして実行することで確認できます。

コンパイル

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

ペネトレーションテストの実行

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

何が起こるべきか

If kernel panics then is vulnerable to this exploit!

Kimiが解析したfops.c

クリックして表示
ステップステージシステムコール / プリミティブ何が起こるかデータ / ターゲット
1セットアップ—page_base、fake_lock、fake_fops を検証いずれかがゼロなら中止
2セットアップsocket() ×2main_tcp_make_pair() が接続済み TCP ペアを作成127.0.0.1 上の client_fd + server_fd
3セットアップmemfd_create()punch 用の匿名 memfd を作成punch_fd
4セットアップfallocate()memfd 上に 16 MiB を事前確保MAIN_TCP_PUNCH_SHMEM_LEN
5セットアップmmap()memfd をユーザー空間に R/W でマップmap ポインタ
6セットアップpthread_create()main_tcp_punch_thread を開始ループ: 確保 → PUNCH_HOLE → ページ解放
7レースsend()64 バイトの sendbuf をサーバーソケットへ送信MSG_DONTWAIT、MSG_ZEROCOPY なし
8レース—main_tcp_punch_phase == 0 になるまでスピンpunch スレッドと同期
9レース—getsockopt 用に zc[0x40] バッファを構築zc[0x18]=map+ps、zc[0x20]=64、zc[0x28]=waiter_task、zc[0x30]=fake_lock
10レースgetsockopt()クライアントソケットで TCP_ZEROCOPY_RECEIVEカーネルが zc 構造体を読み書き
11レース—i >= arm_seq(デフォルト 16)の場合: コンシューマーをアームpunch_consume_go = i → GhostLock コンシューマーをトリガー
12レース—wait_for_consumer_idle() + スピンコンシューマーがダングリング waiter を処理するのを待機
13トリガー—consumer_calls / consumer_success を確認カウンターが増加していれば → レース成功
14CFI—run_cfi_stage_on_worker() → try_cfi_stage()任意 R/W ステージへ移行
15CFIopen()open_ashmem_device() → /dev/ashmem を開くハイジャックされた fops 用の fd
16CFIconfigfs_write_once()任意書き込みテストペイロードを binwrite_target へ"CFI_FRIENDLY_CONFIGFS_BIN_WRITE_OK"
17CFIconfigfs_write_once()MAIN_TCP_PAYLOAD の場合: fake_fops + FOPS_READ_OFF をゼロ化読み取りスロットを無効化
18CFIconfigfs_read_once()binwrite_target からペイロードを読み戻す任意読み取りが機能することを検証
19CFIconfigfs_read_once()misc_fops(ashmem fops ポインタ)を読み取るfake_fops と等しいことを検証する
20CFIconfigfs_write_once()restore_slide_boot_id() — boot ID を上書きするSLIDE_RANDOM_BOOT_ID_DATA → SLIDE_SYSCTL_BOOTID
21CFIconfigfs_read_once() ×4leak_kernel_base() — ashmem fops スロットを読み取るopen/ioctl/mmap/release/show_fdinfo
22CFI—リークしたポインタから kaslr_base / kaslr_slide を計算する期待されるオフセットと照合して検証する
23Privescpipe() + configfs_write_once()install_pipe_physrw() — 安定したパイプベースの R/Wanon_pipe_buf_ops の操作
24Privesc—cleanup_main_waiter_pi_state()ダングリング waiter の PI 状態を修正する
25Privesc—install_android_root()current->cred を init_cred で上書きする
26Restoreconfigfs_write_once()元の ashmem_fops ポインタを復元するcanon_addr(ASHMEM_FOPS)
27Restoreconfigfs_write_once()fake_fops の owner フィールドをゼロクリアするUAF の再利用を防ぐ
28Cleanupclose()ashmem fd をクローズする成功 / 失敗を返す

その他

クリックして表示 参照: https://github.com/NebuSec/CyberMeowfia/blob/main/IonStack/CVE-2026-43499/exploit/src/targets/tokay-CP2A.260605.012 特に /fops.c

CyberMeowfia をビルドする

export ANDROID_NDK_HOME=/root/Android/Sdk/ndk/android-ndk-r29 #path_to_ndk
make clean
make PROJECT=tokay-CP2A.260605.012 API=36
ツールをダウンロード