Nach Angaben von Paradigm Shift liegt die Ursache in einem Hardwarefehler des Synopsys-DWC2-USB-Controllers. Der Controller speichert eingehende USB-Setup-Pakete per DMA, puffert bis zu drei davon und setzt beim vierten seinen Schreibzeiger zurück, indem er ihn um feste 24 Byte verringert. Gleichzeitig akzeptiert er auch zu kleine Pakete und erhöht den Zeiger dann nur um die tatsächlich geschriebenen Bytes. Aus diesem Missverhältnis entsteht ein reproduzierbarer Puffer-Unterlauf, der den Schreibzeiger schrittweise um jeweils 12 Byte rückwärts durch den Speicher laufen lässt.
Ausnutzbar wird das auf A12- und A13-Chips laut den Forschern durch Apples Konfiguration des USB-DART, also der Device Address Resolution Table, innerhalb der SecureROM. Auf betroffenen Geräten läuft sie im Bypass-Modus, sodass der durch den Unterlauf fehlgeleitete DMA-Zeiger beliebige SRAM-Bereiche erreichen und überschreiben kann. A11 ist nicht betroffen, weil dessen USB-Treiber die DMA-Adresse nach jedem Paket manuell zurücksetzt und sich der beschriebene Effekt daher nicht aufbauen kann. Bei A14 und neueren Chips scheint DART nach Angaben von Paradigm Shift korrekt konfiguriert zu sein, was diesen Angriffsweg dort unbrauchbar macht.
Für A12 beschreiben die Forscher einen vergleichsweise direkten Weg zur Kontrolle: Dort liegt der DMA-Puffer im Heap neben dem Stack der USB-Aufgabe. Wird ein gespeichertes Link-Register überschrieben, übernimmt der Angreifer beim nächsten Kontextwechsel die Kontrolle über den Programmzähler. Auf A13 ist der Weg komplexer, weil Pointer Authentication (PAC) Rücksprungadressen auf dem Stack schützt. Paradigm Shift umging das schrittweise: Durch das Beschädigen von DART-bezogenen Heap-Strukturen entstanden eingeschränkte Schreibprimitive, das Überschreiben des Zählers für die Panic-Tiefe ließ den Chip bei Fehlern in einer Schleife verharren statt neu zu starten, und präzises Timing bei DMA-Schreibvorgängen verhinderte, dass gesicherte Register der USB-Aufgabe beschädigt wurden.
Im letzten Schritt wurde laut Bericht der Zeiger auf den USB-Interrupt-Handler im BSS überschrieben. Der nächste USB-Interrupt führte dann vom Angreifer bereitgestellten Code aus. Am Ende steht in beiden Varianten Codeausführung auf EL1, also im privilegierten Modus des Chips, innerhalb der SecureROM.
Nach erfolgreicher Ausnutzung injiziert usbliter8 einen eigenen Handler für USB-Anfragen und schreibt „PWND:[usbliter8]“ in die USB-Serienzeichenkette des Geräts. Von dort aus kann ein Angreifer den Produktionsmodus des SoC vorübergehend herabstufen oder ein rohes, unsigniertes iBoot-Image ohne Signaturprüfung starten und damit Apples Vertrauenskette verlassen. Eine Kompromittierung der Secure Enclave zeigt die Forschung nicht. Paradigm Shift betont aber, dass Kontrolle auf BootROM-Ebene neue Wege eröffnen könnte, sie anzugreifen.
Der öffentliche Proof of Concept unterstützt A12-, A13-, S4- und S5-SoCs. Unterstützung für A12X und A12Z wird als theoretisch möglich beschrieben, ist aber noch nicht implementiert. Genannt werden unter anderem iPhone XS, XS Max und XR, die iPhone-11-Reihe, das iPhone SE der zweiten Generation, iPad Air der dritten Generation, iPad mini der fünften Generation, iPad der achten Generation, Apple Watch Series 4 und 5, die erste Apple Watch SE sowie der HomePod mini und weitere Apple-Produkte auf Basis dieser Chips.
Paradigm Shift ordnet usbliter8 als nächstes öffentliches Gegenstück zu checkm8 ein, dem SecureROM-Exploit von 2019 für A5- bis A11-Geräte. Wie checkm8 erfordert auch usbliter8 physischen Zugriff und den DFU-Modus und kann nicht mit einem Firmware-Update beseitigt werden. Neu ist, dass diese Eigenschaft nun auch die nächste Chip-Generation erreicht. Zum Zeitpunkt der Veröffentlichung war keine Ausnutzung unter realen Bedingungen öffentlich bekannt.
