ช่องโหว่นี้ส่งผลกระทบต่ออุปกรณ์ที่ใช้ชิป A12 และ A13 Bionic ได้แก่ :
值得注意的是 ช่องโหว่ checkm8 ก่อนหน้านี้ (2019) ครอบคลุมอุปกรณ์ A5–A11 ในขณะที่ usbliter8 ขยายการโจมตีไปยังรุ่นถัดไป ชิป A11 ไม่ได้รับผลกระทบเนื่องจากไดรเวอร์ USB รีเซ็ตพอยน์เตอร์ DMA หลังจากแต่ละแพ็กเก็ต ชิป A14 และรุ่นใหม่กว่าก็ปลอดภัยเช่นกัน เนื่องจากมีการกำหนดค่า USB DART (การป้องกันหน่วยความจำ) อย่างถูกต้องใน SecureROM
ข้อบกพร่องนี้อยู่ใน ตัวควบคุม USB Synopsys DWC2 ที่สร้างขึ้นในชิป กลไกทางเทคนิคมีดังนี้:
ความไม่ตรงกันของพอยน์เตอร์แบบวงแหวน: ตัวควบคุมจะจัดเก็บแพ็กเก็ต USB Setup ได้สูงสุดสามแพ็กเก็ตในบัฟเฟอร์ DMA หลังจากเขียนแต่ละครั้ง มันจะเพิ่มพอยน์เตอร์ฮาร์ดแวร์ตามขนาดข้อมูล หลังจากแพ็กเก็ตที่สาม มันจะรีเซ็ตโดยลดพอยน์เตอร์ลง 24 ไบต์คงที่
เทคนิคแพ็กเก็ตขนาดเล็ก: ตัวควบคุมยอมรับแพ็กเก็ตที่เล็กกว่าขนาดมาตรฐาน 8 ไบต์ แต่จะจัดเก็บในกลุ่มที่เรียงตาม 4 ไบต์เสมอ เมื่อได้รับแพ็กเก็ตขนาดเล็ก การเพิ่มของพอยน์เตอร์ (ข้อมูลที่เขียนจริง) จะไม่ตรงกับการลดลงคงที่ 24 ไบต์ ทำให้เกิด บัฟเฟอร์อันเดอร์โฟลว์ 12 ไบต์ — พอยน์เตอร์จะย้อนกลับในหน่วยความจำ
การเขียนทับหน่วยความจำ: สิ่งนี้ทำให้ผู้โจมตีเขียนทับพื้นที่ SRAM ที่ควรจะไม่สามารถเข้าถึงได้ระหว่างการบูต รวมถึงข้อมูลสแต็กและเมตาดาต้าฮีป
การรันโค้ด: บน A12 ผู้โจมตีเขียนทับรีจิสเตอร์ลิงก์ (LR) ที่บันทึกไว้บนสแต็กของงาน USB เพื่อควบคุมโปรแกรมเคาน์เตอร์ (PC) โดยตรง บน A13 PAC (Pointer Authentication Codes) ทำให้ซับซ้อนขึ้น ต้องใช้เทคนิคหลายขั้นตอนที่หลีกเลี่ยงเช็คซัมฮีปและเคาน์เตอร์พานิค
BootROM (SecureROM) เป็นโค้ดชุดแรกที่ชิปเรียกใช้เมื่อเปิดเครื่อง มันถูก ฝังในหน่วยความจำแบบอ่านอย่างเดียว (ROM) ระหว่างการผลิตชิป และไม่สามารถเปลี่ยนแปลงได้หลังจากอุปกรณ์ออกจากโรงงาน เนื่องจากสาเหตุพื้นฐานคือ ข้อบกพร่องของฮาร์ดแวร์ในตัวควบคุม USB ไม่ใช่ข้อบกพร่องของซอฟต์แวร์ Apple จึงไม่สามารถแก้ไขได้ด้วยการอัปเดตเฟิร์มแวร์หรือระบบปฏิบัติการ วิธีบรรเทาผลกระทบที่มีประสิทธิภาพเพียงอย่างเดียวคือการย้ายไปยังฮาร์ดแวร์รุ่นใหม่กว่า (A14 หรือใหม่กว่า)
ช่องโหว่นี้ส่งผลกระทบต่ออุปกรณ์ที่ใช้ชิป A12 และ A13 Bionic ได้แก่ :
值得注意的是 ช่องโหว่ checkm8 ก่อนหน้านี้ (2019) ครอบคลุมอุปกรณ์ A5–A11 ในขณะที่ usbliter8 ขยายการโจมตีไปยังรุ่นถัดไป ชิป A11 ไม่ได้รับผลกระทบเนื่องจากไดรเวอร์ USB รีเซ็ตพอยน์เตอร์ DMA หลังจากแต่ละแพ็กเก็ต ชิป A14 และรุ่นใหม่กว่าก็ปลอดภัยเช่นกัน เนื่องจากมีการกำหนดค่า USB DART (การป้องกันหน่วยความจำ) อย่างถูกต้องใน SecureROM
ข้อบกพร่องนี้อยู่ใน ตัวควบคุม USB Synopsys DWC2 ที่สร้างขึ้นในชิป กลไกทางเทคนิคมีดังนี้:
ความไม่ตรงกันของพอยน์เตอร์แบบวงแหวน: ตัวควบคุมจะจัดเก็บแพ็กเก็ต USB Setup ได้สูงสุดสามแพ็กเก็ตในบัฟเฟอร์ DMA หลังจากเขียนแต่ละครั้ง มันจะเพิ่มพอยน์เตอร์ฮาร์ดแวร์ตามขนาดข้อมูล หลังจากแพ็กเก็ตที่สาม มันจะรีเซ็ตโดยลดพอยน์เตอร์ลง 24 ไบต์คงที่
เทคนิคแพ็กเก็ตขนาดเล็ก: ตัวควบคุมยอมรับแพ็กเก็ตที่เล็กกว่าขนาดมาตรฐาน 8 ไบต์ แต่จะจัดเก็บในกลุ่มที่เรียงตาม 4 ไบต์เสมอ เมื่อได้รับแพ็กเก็ตขนาดเล็ก การเพิ่มของพอยน์เตอร์ (ข้อมูลที่เขียนจริง) จะไม่ตรงกับการลดลงคงที่ 24 ไบต์ ทำให้เกิด บัฟเฟอร์อันเดอร์โฟลว์ 12 ไบต์ — พอยน์เตอร์จะย้อนกลับในหน่วยความจำ
การเขียนทับหน่วยความจำ: สิ่งนี้ทำให้ผู้โจมตีเขียนทับพื้นที่ SRAM ที่ควรจะไม่สามารถเข้าถึงได้ระหว่างการบูต รวมถึงข้อมูลสแต็กและเมตาดาต้าฮีป
การรันโค้ด: บน A12 ผู้โจมตีเขียนทับรีจิสเตอร์ลิงก์ (LR) ที่บันทึกไว้บนสแต็กของงาน USB เพื่อควบคุมโปรแกรมเคาน์เตอร์ (PC) โดยตรง บน A13 PAC (Pointer Authentication Codes) ทำให้ซับซ้อนขึ้น ต้องใช้เทคนิคหลายขั้นตอนที่หลีกเลี่ยงเช็คซัมฮีปและเคาน์เตอร์พานิค
BootROM (SecureROM) เป็นโค้ดชุดแรกที่ชิปเรียกใช้เมื่อเปิดเครื่อง มันถูก ฝังในหน่วยความจำแบบอ่านอย่างเดียว (ROM) ระหว่างการผลิตชิป และไม่สามารถเปลี่ยนแปลงได้หลังจากอุปกรณ์ออกจากโรงงาน เนื่องจากสาเหตุพื้นฐานคือ ข้อบกพร่องของฮาร์ดแวร์ในตัวควบคุม USB ไม่ใช่ข้อบกพร่องของซอฟต์แวร์ Apple จึงไม่สามารถแก้ไขได้ด้วยการอัปเดตเฟิร์มแวร์หรือระบบปฏิบัติการ วิธีบรรเทาผลกระทบที่มีประสิทธิภาพเพียงอย่างเดียวคือการย้ายไปยังฮาร์ดแวร์รุ่นใหม่กว่า (A14 หรือใหม่กว่า)