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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-65343-e7eb2ed — CVE-2026-65343のPoC。iOS 26.6におけるAppleKeyStoreカーネルのOOB読み取りで、DYLD_INTERPOSEによるACMハンドルキャプチャを介してサンドボックス化されたアプリからKASLRを回避するためにカーネルポインタを漏洩させる。 | Kitploit
ツール/GitHubGitHub/hidayat-tanjung/cve-2026-65343-e7eb2ed
iOSセキュリティメモリフォレンジック脆弱性分析エクスプロイトモバイルアプリペンテストリバースエンジニアリングモバイルセキュリティ論文と研究バイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubhidayat-tanjung/cve-2026-65343-e7eb2ed

CVE-2026-65343-e7eb2ed

CVE-2026-65343のPoC。iOS 26.6におけるAppleKeyStoreカーネルのOOB読み取りで、DYLD_INTERPOSEによるACMハンドルキャプチャを介してサンドボックス化されたアプリからKASLRを回避するためにカーネルポインタを漏洩させる。

リポジトリを見る
16時間59分前未レビュー

CVE-2026-65343 — AppleKeyStore OOB Read (KASLR Defeat)

コンポーネント: AppleKeyStore カーネル拡張 — _LibSer_SEPControl_Deserialize
影響: iOS / iPadOS 26.6 (23G71) 以前
修正済み: iOS / iPadOS 26.6.1 (23G83)
種類: SEP 制御メッセージのデシリアライズにおける境界外読み取り
影響: カーネルポインタリーク → サンドボックス化された entitlement 不要のプロセスからの KASLR 回避 (DYLD_INTERPOSE による ACM ハンドルキャプチャ経由)


クレジット

発見者: Drinor Selmanaj (Sentry)、Surya Narayan Kushwaha
(Apple Security Advisory — iOS 26.6.1 による)


根本原因

AppleKeyStore カーネル拡張の _LibSer_SEPControl_Deserialize は、ACM (Credential Manager) メッセージバッファから (payload_ptr, declared_length) のペアを copyout() 経由でユーザ空間に公開するが、declared_length ≤ remaining を検証していない。

declared_length = 0x800 を指定することで、ドライバはカーネルの ACM メッセージバッファの終端を約 0x7E8 バイト超えてコピーし、隣接するカーネルヒープ割り当てを読み取る。これらの隣接領域にはカーネルポインタ (0xfffffff0xxxxxxxx) が含まれており、KASLR スライドの計算に利用できる。

root@kitploit:~
; _LibSer_SEPControl_Deserialize (affected path, 26.6 / 23G71)
ldr  w2, [acm_msg + declared_length_offset]  ; user-controlled 0x800
; NO check: w2 <= (acm_msg_end - payload_ptr) ← MISSING
bl   copyout                                  ; copies w2 bytes to userspace

ACM ハンドルキャプチャ (DYLD_INTERPOSE)

直接の IOServiceOpen("AppleKeyStore") はサイドロードされたアプリではサンドボックスによってブロックされる。しかし、Security.framework の Secure Enclave 鍵署名パスは、実際の ACM セッションハンドルを用いて プロセス内で IOConnectCallMethod を呼び出す。

PoC は __DATA,__interpose フックを使用する (これは dyld のロード時に実行され、__DATA_CONST が読み取り専用になる前である — fishhook は iOS 26 では DATA_CONST 保護によりブロックされる):

  1. interpose キャプチャフラグを設定
  2. SecKeyCreateRandomKey(kSecAttrTokenIDSecureEnclave) → SecKeyCreateSignature() → プロセス内の IOConnectCallMethod が実際の ACM ハンドルで発火
  3. (conn, handle[16]) をキャプチャ
  4. 163 個の AKS セレクタにわたり declared_length = 0x800 でリプレイ
  5. 出力を 0xfffffff0xxxxxxxx カーネルポインタについてスキャン → KASLR スライドを計算

PoC の動作

poc_aks_oob.m は完全な ACM ハンドルキャプチャと OOB プローブチェーンを実装する:

  • Secure Enclave P-256 鍵を作成 (kSecAttrAccessibleAfterFirstUnlock、生体認証なし)
  • 32 バイトのメッセージに署名し、プロセス内の AKS IOKit 呼び出しをトリガー
  • 163 個の AKS セレクタすべてにわたり declared_length = 0x800 でリプレイ
  • 見つかったカーネルポインタを KPTR @+XXXX = 0xfffffff0YYYYYYYY の形式で出力
  • 既知の AKS シンボルオフセットから KASLR スライドの計算を試みる

SE 鍵署名がプロセス内ではなく secd XPC 経由でルーティングされる場合、フォールバックプローブはゼロハンドルを使用する (OOB パスの到達可能性を確認する。すべてのセレクタは ACM 検証に失敗するが、VNOP パスは確認される)。


iOS 26 の注意: fishhook はブロックされる

iOS 26 では、__DATA_CONST (GOT を含む) はプロセス内コードが実行される前に読み取り専用にマップされる。実行時の GOT 書き込み (fishhook で使用されるもの) は KERN_PROTECTION_FAILURE → SIGBUS を引き起こす。__DATA,__interpose 経由の DYLD_INTERPOSE は機能する。なぜなら dyld はイメージロード時に interpose テーブルを処理し、それはカーネルが __DATA_CONST 保護を適用する前だからである。


要件

  • iOS 26.6 (23G71) 以前
  • Secure Enclave アクセス (kSecAttrTokenIDSecureEnclave) — entitlement なしで任意のサイドロードアプリが利用可能
  • サンドボックスエスケープは不要: AKS IOKit 呼び出しは Security.framework 経由でプロセス内で行われる

ビルド

root@kitploit:~
# Xcode project — link Security.framework and Foundation.framework
clang -arch arm64 \
      -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -framework Security -framework Foundation \
      -o poc poc/poc_aks_oob.m

codesign -s "Apple Development" --entitlements ent.plist poc

最小限の entitlement (ent.plist):

root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
    <key>keychain-access-groups</key>
    <array><string>$(AppIdentifierPrefix)com.research.poc65343</string></array>
</dict></plist>

タイムライン

DateEvent
2026-08-17iOS 26.6.1 released with fix
2026-08-17Apple credits published in security advisory

参考文献

  • Apple Security Advisory — iOS 26.6.1

CVE-2026-65343-e7eb2ed

ツールをダウンロード