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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-20687-AppleJPEGDriver-UAF — CVE-2026-20687: AppleJPEGDriver startDecoder タイムアウト UAF — iOS/macOS カーネルの脆弱性により遅延パニックが発生(A19 Pro、iOS 26.3 RC) | Kitploit
ツール/GitHubGitHub/0xjohnnydev/cve-2026-20687-applejpegdriver-uaf
iOSセキュリティ脆弱性分析エクスプロイトモバイルセキュリティバイナリエクスプロイト
GitHub0xjohnnydev/cve-2026-20687-applejpegdriver-uaf

CVE-2026-20687-AppleJPEGDriver-UAF

CVE-2026-20687: AppleJPEGDriver startDecoder タイムアウト UAF — iOS/macOS カーネルの脆弱性により遅延パニックが発生(A19 Pro、iOS 26.3 RC)

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト
288382ヶ月前Kitploit レビュー済み

CVE-2026-20687: AppleJPEGDriver startDecoder() タイムアウトUAF(遅延パニック)

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

コンポーネント: カーネル

影響: アプリが予期しないシステム終了を引き起こしたり、カーネルメモリに書き込んだりする可能性があります

説明: 解放後使用(use after free)の問題は、メモリ管理の改善により対処されました。

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

これはお使いのデバイスをカーネルパニックに陥れます。作業内容を保存してください。

iOS 26.3(23D125)、iPhone18,2(iPhone 17 Pro Max、A19 Pro)でテスト済みです。

トリガー

直接トリガー:

  1. PoCを実行し、Panic をタップします(ドライバを準備し、非同期処理をキューに登録します)。
  2. 次に Camera を開きます(影響を受けるビルドでは、これにより同期的なJPEGデコードとタイムアウトが確実に発生します)。
  3. タイムアウト経路はリクエストを解放しますが、そのリクエストに埋め込まれたキューノードポインタをコーデックごとのベクタ内に残します。
  4. その後のキューの走査で古い(stale)ノードを参照し、カーネルがパニックします(MTEタグチェックフォールト)。
// PoC: ドライバを準備する。パニックは通常、Cameraを開くまで遅延される。
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
  startDecoder_async();                   // queue_io_gated(): vector.push(req + 0x78)
}
IOServiceClose(conn);

// その後、Cameraを開くと以下がトリガーされる:
startDecoder_sync();
  queue_io_gated(): vector.push(req + 0x78);
  wait(10s) -> TIMEOUT;
  pool_free(req);                         // BUG: デキューしない (req + 0x78)

// さらにその後 (finish_io_gated):
fullSpeedRequestExist():
  node_ptr = vector[i];                   // stale: node_ptr == (freed req + 0x78)
  req2 = *(node_ptr + 0x8);              // req+0x80 のUAF読み取り -> MTEタグフォールト -> パニック

ビルドと実行

  1. Xcodeで ios-app/Test.xcodeproj を開きます
  2. iOSデバイスを選択します(シミュレータでは役に立ちません)
  3. ビルドして実行します
  4. Panic ボタンをタップします
  5. Camera アプリを開いて、遅延パニックをトリガーします
ツールをダウンロード