live

The Verified Boot protocol + the GBL-class attack (Track D, current focus)

Our device's protocol (confirmed by RE)

VerifiedBootDxe (extracted from uefi.elf's embedded FVs) registers the protocol:

QCOM_VERIFIEDBOOT_PROTOCOL GUID: {8e5eff91-21b6-47d3-af2b-c15a-01e0-20ec}

(Found in the driver's protocol-registration table at file offset 0xd0b8, next to the Disk I/O, FAT and SimpleFileSystem GUIDs. This is not the SM8850 variant {98f41539-…} — the PoC structs from that writeup don't apply; the 8e5eff91 family does.)

The attack pattern (public PoC: kasnria001/qualcomm_gbl_exploit_poc)

[unsigned EFI app staged in a boot-chain load path]
    -> gBS->LocateProtocol(&gEfiQcomVerifiedBootProtocolGuid, …)
    -> VbProtocol->VBRwDeviceState(VbProtocol, READ_CONFIG,  Buf, 3344)
       Buf[0] = 1;   // device-unlock bit
       Buf[8] = 1;   // critical-partition flashing bit
    -> VBRwDeviceState(WRITE_CONFIG, Buf, 3344)
       -> the ABL's trusted path writes the RPMB device state (TZ performs the
          authenticated RPMB write itself — no crypto broken)

Timing constraint from the PoC author: the write must happen before the TEE "milestone" locks device-state changes — which is why the GBL stage (early boot) is the natural carrier.

GBL / staging status on SM-F956B DZI1

Files

Open questions

  1. Where does the DZI1 boot chain load an unsigned UEFI app from? (The unlock itself is solved — only the staging is missing.)
  2. What is the "specific partition" in CVE-2026-24088?
  3. Can the imagefv encryption be unwrapped via SM-F956B_EUR_XX_QKEY1 / oem_image_encryption_key1?