
Reverse engineering statico di un'immagine BIOS GIGABYTE H510M K V2 (`H510MKV2.F3`): analisi completa dell'estrazione del volume firmware UEFI dell'allocatore di memoria SMM Core della specifica PI e una caccia mirata alle quattro vulnerabilità di corruzione della memoria SMM che GIGABYTE/Binarly ha divulgato nel 2025 (CVE-2025-7026 CVE-2025-7027 CVE-2025-7028 CVE-2025-7029).
Reverse-engineering statico di un'immagine BIOS GIGABYTE H510M K V2 (H510MKV2.F3): analisi completa, tramite estrazione dei firmware volume UEFI, dell'allocatore di memoria del SMM Core di specifica PI e una ricerca mirata delle quattro vulnerabilità di corruzione della memoria SMM divulgate da GIGABYTE/Binarly nel 2025 (CVE-2025-7026 CVE-2025-7027 CVE-2025-7028 CVE-2025-7029).
Stato: 1 delle 4 CVE confermata presente (CVE-2025-7027). Le altre 3 sono state attivamente cercate nell'intero firmware accessibile e non trovate — vedi CVE non confermate per capire esattamente cosa questo significa e cosa non significa.
Questa è una ricerca n-day, non una divulgazione 0-day. Tutte e quattro le CVE qui menzionate erano già state divulgate pubblicamente e corrette da GIGABYTE (il firmware corretto ha iniziato a essere distribuito il 2025-06-12), con CVE assegnate e documentate da Binarly e CERT/CC prima dell'inizio di questa ricerca. Nulla in questo repository è una nuova scoperta di vulnerabilità — è una verifica indipendente tramite analisi statica per stabilire se le classi di bug precedentemente divulgate e corrette siano presenti in una specifica build BIOS scaricabile pubblicamente.
| Scheda | GIGABYTE H510M K V2 (H510MKV2) |
| File BIOS | H510MKV2.F3 |
| Dimensione file | 16777216 bytes (16 MB) |
| Data file | 2023-12-20 |
| MD5 | a9bca8aeb55061824af1c3eedfb5c846 |
| SHA-256 | 934a935e5faba8d2cea4e1d51e9edb6aed86b32f412d0da5bae602bd9fd8f9f3 |
| Chipset | Intel H510 |
| Patch del vendor disponibile dal | 2025-06-12 (questa build la precede di ~18 mesi) |
uefi-firmware-parser) — 356 file FFS enumerati nel volume SMM/DXE; 302 con un'immagine PE32/TE estraibile.PiSmmCore (il SMM Core di specifica PI), confermando e dando un nome al vero allocatore di pool/pagine SMM (interni di SmmAllocatePool/SmmFreePool/SmmAllocatePages/SmmFreePages) tramite le sue firme di guardia hard-coded "sphd"/"tail" — una corrispondenza esatta con l'open-source MdeModulePkg/Core/PiSmmCore/Pool.c di EDK2.GenericComponentSmmEntry: una variabile NVRAM (SetupXtuBufferAddress) viene letta tramite GetVariable() senza alcuna validazione e usata direttamente come puntatore di scrittura raggiungibile via SW SMI 0xB2 — corrisponde punto per punto alla descrizione pubblica della causa radice di Binarly.uefi_firmware (uefi-firmware-parser -e) ha decomposto ricorsivamente l'immagine BIOS: regioni Intel Flash Descriptor → firmware volume → file FFS → sezioni, decomprimendo ogni firmware volume compresso LZMA/Tiano trovato..ui (nome visualizzato del driver) e una sezione immagine .pe/.te è stato copiato come binario PE32+/TE autonomo denominato <DriverName>__<GUID8>.<pe32|te>.ida-pro-mcp / idalib) con il decompilatore Hex-Rays, un database per modulo. Solo auto-analisi + Hex-Rays — in questo ambiente non erano disponibili firme FLIRT né librerie di tipi EDK2 (segnalato come limitazione più avanti).L'immagine BIOS contiene quattro regioni Intel Flash Descriptor; solo region-bios contiene codice GIGABYTE/OEM (region-me.fd region-gbe.fd region-pdr.fd sono firmware Intel Management Engine / GbE / descriptor — componenti separati, fuori ambito, non esplorati).
All'interno di region-bios sono stati trovati ed estratti quattro firmware volume:
| Volume (GUID container FFS) | Contenuti | File estratti |
|---|---|---|
file-9e21fd93-... → volume-ee4e5898-... | Volume principale dei driver DXE/SMM — tutti i driver Smm* e i driver DXE di piattaforma | 302 |
file-f641ac56-... → volume-ee4e5898-... | Copia duplicata/di fase PEI del precedente (sottoinsieme più piccolo: PiSmmCommunicationPei IT8728FSmmFeaturesPei ecc.) | 22 |
file-3417f275-... → volume-3417f275-... | Volume di early bring-up PEI/DXE (DxeIpl FspS3Notify ...) | 21 (2 con immagini) |
file-05ca020b-... → volume-05ca020b-... | Piccolo volume ausiliario senza immagini eseguibili | 2 |
Tutti e quattro sono stati estratti e sottoposti a scansione dei marker (vedi CVE non confermate).