3-6-12 month Box & Dongle | Activation | Credit | Games | Gift Card | Play-Store Itunes | google Card | Welcome To code-Gsm
iPhone Security & BootROM Research

checkm8 – The iPhone A5–A11 BootROM Exploit Explained

5 min read

Quick Summary: checkm8 (CVE-2019-8900) is a permanent, unpatchable BootROM exploit for Apple devices with A5 through A11 chips — covering everything from the iPhone 4s to the iPhone X. Discovered by security researcher axi0mX and released on September 27, 2019, it remains one of the most significant hardware-level vulnerabilities ever found in an Apple device.

What Is checkm8?

checkm8 is a BootROM-level exploit that enables unsigned code execution on iOS, iPadOS, tvOS, watchOS, bridgeOS, and audioOS devices. Because it exploits a bug in the device's read-only SecureROM chip, Apple cannot fix it with any software update. Every device based on the affected chips will remain exploitable for its entire lifetime.

It was discovered and published by axi0mX (Twitter/X: @axi0mX) as an open-source proof of concept via the ipwndfu tool on GitHub (7,300+ stars). The CVE identifier is CVE-2019-8900.

Affected Apple Chips & Devices

Apple SoC iPhone Models Other Devices
A5 / A5XiPhone 4siPad 2, iPad 3, iPad mini 1, iPod touch 5G, Apple TV 2G/3G
A6 / A6XiPhone 5, iPhone 5ciPad 4th gen
A7iPhone 5siPad Air 1, iPad mini 2/3, iPad Pro 9.7"
A8 / A8XiPhone 6, iPhone 6 PlusiPad Air 2, iPad mini 4, iPod touch 6G
A9 / A9XiPhone 6s, iPhone 6s Plus, iPhone SE (1st gen)iPad 5th gen, iPad Pro 9.7"/12.9"
A10 / A10XiPhone 7, iPhone 7 PlusiPad 6th/7th gen, iPad Pro 10.5"/12.9" 2nd gen, iPod touch 7G
A11 BioniciPhone 8, iPhone 8 Plus, iPhone X
T2 (Mac)MacBook Pro 2018–2020, MacBook Air 2018–2020, Mac mini 2018, iMac Pro

Not affected: A12 and newer (iPhone XR / XS / XS Max onwards). Note: the core use-after-free bug technically exists in A12/A13 SecureROMs as well, but the memory leak needed to exploit it was patched — this gap was later closed by USBLiter8 (June 2026) which uses a completely different technique.

The Root Cause – USB DFU Use-After-Free

The vulnerability lives in the USB DFU (Device Firmware Update) code inside SecureROM. Here is what happens:

  1. When DFU initialises, it allocates a global I/O buffer and registers a USB interface to handle transfers.
  2. During a data transfer, the interface code sets a global pointer to this I/O buffer and prepares for the data phase.
  3. The attacker sends a specially crafted USB packet that starts the data phase but violates the USB spec — then sends nothing. This leaves the global pointer set but the data phase incomplete.
  4. The attacker triggers a DFU re-entry (USB reset or failed image parse), causing the I/O buffer to be freed. But the global pointer still points to it — this is the use-after-free.
  5. The attacker now controls what gets allocated in that freed memory slot (heap grooming / "heap feng-shui") and overwrites a callback function pointer in a USB request object.
  6. When USB sends a reset, the device walks the request queue and executes the attacker's callback — giving full PC (program counter) control.

On A9X through A11, an additional memory leak vulnerability is needed to groom the heap precisely. By stalling the USB endpoint and sending requests with a length that is not a multiple of 64 bytes, zero-length packet objects accumulate on the heap without being freed. The attacker uses this to carve a perfectly sized "hole" for the freed I/O buffer to land exactly where needed.

Tools Built on checkm8

Tool Purpose Notes
ipwndfuOriginal PoC — SecureROM dump, keybag decrypt, JTAG demotionMac/Linux; does not work on Apple Silicon via USB-C
checkra1nFull semi-tethered jailbreak (up to iOS 14.x)macOS/Linux GUI + CLI; widely used in repair shops
palera1nSemi-tethered jailbreak (iOS 15.0 through latest)Actively maintained; see our palera1n article
gasterLow-level exploit runner; used by developers and tool buildersWorks on Apple Silicon Macs via USB-C
checkm8-a5A5 devices (iPhone 4s, iPad 2)Requires Arduino due to USB packet timing differences

What checkm8 Enables for GSM Professionals

  • Carrier unlock (iPhone 6 through iPhone X) — BootROM access allows booting custom firmware that can read and write baseband NVM, enabling full carrier unlock without an official code from the operator.
  • iCloud Activation Lock bypass — The most common use case in repair shops. checkra1n/palera1n provide a jailbroken environment where iCloud bypass tools operate.
  • FRP and MDM bypass — BootROM access enables bypassing various enterprise lock mechanisms on affected devices.
  • IMEI repair / blacklist removal research — Baseband NVM access has been used to study IMEI structure (though writing IMEI is illegal in most jurisdictions).
  • SecureROM dump & keybag decryption — Used by researchers and tool developers to reverse-engineer firmware encryption keys.
  • JTAG debugging — The "demotion" function lowers production mode, enabling hardware-level JTAG debugging.
Key limitation for shop operators: checkm8 is tethered — the exploit must be re-applied after every power cycle. The device will boot normally if not connected to the exploit tool first. For persistent unlocking, a jailbreak like palera1n must be installed on top.

Frequently Asked Questions

Q: Can Apple patch checkm8?
No. The vulnerability is in the BootROM which is mask-programmed silicon. Apple cannot push an update to change it. They fixed the issue starting with A12 (iPhone XR/XS, 2018).

Q: Does checkm8 work on iPhone 12 and newer?
No. A12 and newer chips are not affected. For iPhone XR, XS, and iPhone 11 series (A12/A13), the newer exploit USBLiter8 (June 2026) provides similar capabilities.

Q: Is it safe to use?
Physical access to the device in DFU mode is required each time. It cannot be triggered remotely. The Secure Enclave Processor (SEP) is not directly compromised.

Q: Which jailbreak should I use with checkm8?
For iOS 15 and above on A8–A11 devices, use palera1n 2.3. For iOS 14 and below, checkra1n is the classic choice.

Sources & Further Reading


Back to Knowledge Base
Categories

Copyrights © 2026 All Rights Reserved Powered By GSM Tool