Torna agli aggiornamenti
UpdatedSep 3, 2026

CVE-2025-3052 — Updated!

Ricerca su CVE-2025-3052, una vulnerabilità del firmware Insyde che espone una primitiva di scrittura arbitraria in grado di modificare puntatori critici per la sicurezza.

Condividi

🐞 CVE-2025-3052: Corruzione di Memoria in IhisiParamBuffer

Questo repository centralizza il materiale di ricerca relativo a CVE-2025-3052, una vulnerabilità di corruzione di memoria in un modulo UEFI firmato con il certificato di terze parti di Microsoft che consente a un attaccante di corrompere strutture firmware critiche per la sicurezza, neutralizzare l'applicazione di Secure Boot ed eseguire codice arbitrario non firmato prima del caricamento del sistema operativo. Include l'analisi tecnica della causa principale e della tecnica di sfruttamento, binari vulnerabili reali ed educativi, e documentazione di supporto pensata per aiutare i ricercatori a comprendere, riprodurre e sperimentare con questa classe di vulnerabilità.




📑 Indice




🧠 Scoperta Originale & Riferimenti Ufficiali

CVE-2025-3052 è stata originariamente scoperta e divulgata in modo responsabile dal Binarly Research Team. Riferimenti ufficiali e della community:




🐜 Binari Vulnerabili

Questo repository include due binari vulnerabili, forniti con diversi obiettivi di ricerca e apprendimento.


🧨 Binario Vulnerabile Reale

Questo binario rappresenta la vulnerabilità così come esisteva in natura.

  • Applicazione UEFI vulnerabile originale affetta da CVE-2025-3052.
  • Destinato all'analisi reale e al reverse engineering.
  • Firmato con il certificato UEFI di terze parti di Microsoft.
  • Estratto da repository pubblici di malware:

🎓 Binario Vulnerabile Educativo

  • Codice sorgente completamente compilabile di un'applicazione UEFI educativa semplificata.
  • Riproduce la stessa premessa di vulnerabilità del binario reale.
  • Progettato per aiutare i principianti:
    • A progredire gradualmente verso l'analisi del binario originale.
    • A evitare il pesante reverse engineering nelle fasi iniziali.
    • A comprendere i meccanismi della vulnerabilità.



🧪 Panoramica della Vulnerabilità (Analisi, Sfruttamento, PoC)

CVE-2025-3052 è una vulnerabilità di bypass di Secure Boot che colpisce i sistemi UEFI, causata dalla gestione non sicura dei dati recuperati da una variabile NVRAM all'interno di un'applicazione UEFI firmata. La vulnerabilità consente a un attaccante di corrompere strutture firmware critiche per la sicurezza durante il processo di avvio, rompendo di fatto la catena di fiducia UEFI e consentendo l'esecuzione di codice non firmato prima del caricamento del sistema operativo.

Ciò che rende questa vulnerabilità particolarmente impattante non è solo la natura del bug in sé, una primitiva di corruzione di memoria, ma il contesto in cui esiste: un modulo UEFI firmato con il certificato UEFI di terze parti di Microsoft, considerato affidabile per impostazione predefinita sulla stragrande maggioranza dei sistemi moderni. Di conseguenza, lo sfruttamento avviene in una delle fasi di esecuzione più precoci e privilegiate della piattaforma, prima dei controlli di sicurezza a livello di sistema operativo.


🔐 Secure Boot & Certificati Microsoft

Secure Boot è una funzionalità di sicurezza fondamentale di UEFI progettata per far rispettare la catena di fiducia della piattaforma dal firmware al sistema operativo. Il suo scopo principale è impedire l'esecuzione di componenti di avvio non autorizzati o malevoli, come i bootkit, durante il processo di avvio.

Ad alto livello, Secure Boot funziona convalidando crittograficamente gli eseguibili UEFI prima che sia consentita la loro esecuzione. Questa convalida viene eseguita utilizzando due database mantenuti dal firmware:

  • db: Contiene hash Authenticode attendibili e certificati root attendibili.
  • dbx: Contiene hash e certificati revocati o esplicitamente non attendibili.

Un'applicazione UEFI può essere eseguita se:

  • Il suo hash Authenticode corrisponde a una voce in db, oppure
  • La sua catena di certificati si convalida fino a un certificato root attendibile presente in db, e non è presente in dbx.

Per impostazione predefinita, la maggior parte dei sistemi viene fornita con i seguenti certificati attendibili in db:

  • Microsoft Corporation UEFI CA 2011 - utilizzato per firmare componenti UEFI di terze parti, incluso lo shim di Linux.
  • Microsoft Windows Production PCA 2011 - utilizzato per firmare il bootloader di Windows.
  • Uno o più certificati di proprietà dell'OEM.

I moduli vulnerabili associati a CVE-2025-3052 sono stati firmati utilizzando il certificato Microsoft Corporation UEFI CA 2011. Poiché questo certificato è ampiamente attendibile su vendor e piattaforme, qualsiasi applicazione firmata che lo utilizzi può essere eseguita sulla maggior parte dei sistemi UEFI senza interazione dell'utente. Questa ampia fiducia amplifica significativamente l'impatto di una vulnerabilità all'interno di un tale modulo, poiché aggira di fatto le garanzie di protezione previste da Secure Boot.


🔎 Scoperta del Modulo & Ricognizione

Il modulo UEFI vulnerabile è stato inizialmente scoperto durante l'analisi su larga scala di binari UEFI caricati su repository pubblici di malware, in particolare VirusTotal. Sebbene il primo invio pubblico del modulo sia avvenuto nel novembre 2024, l'ispezione della sua firma Authenticode ha rivelato che era stato firmato già nell'ottobre 2022, indicando che il binario potrebbe essere stato in circolazione per un periodo considerevole prima del rilevamento.

Il nome file originale osservato durante l'analisi era Dtbios-efi64-71.22.efi. L'esame delle stringhe incorporate, dei metadati del certificato e del comportamento del file ha suggerito fortemente che il modulo fosse stato sviluppato da DT Research, Inc, un vendor specializzato in dispositivi mobili da computing rugged.

Ulteriori reverse engineering hanno rivelato che il modulo è un'utilità di flashing del BIOS, progettata per leggere un'immagine firmware dal disco e scriverla nella ROM del sistema. Sebbene originariamente destinato all'hardware DT Research, il modulo non è limitato a una piattaforma specifica e può essere eseguito su qualsiasi sistema che consideri attendibile il certificato UEFI di terze parti di Microsoft.

Un indizio critico durante la ricognizione è stata la presenza della variabile NVRAM IhisiParamBuffer. Questa variabile è strettamente associata alle implementazioni firmware basate su Insyde ed era già stata coinvolta in altre vulnerabilità divulgate da Binarly (ad es., BRLY-2022-023 e BRLY-2023-005). La sua presenza ha immediatamente suggerito una potenziale classe di problemi legati alla NVRAM.


💥 Individuazione & Sfruttamento della Vulnerabilità

La causa principale di CVE-2025-3052 risiede nell'uso non sicuro dei dati letti da una variabile NVRAM senza convalida. Nello specifico:

  • L'applicazione UEFI recupera il valore della variabile NVRAM IhisiParamBuffer.
  • Questo valore viene trattato come un puntatore attendibile e memorizzato in una variabile globale all'indirizzo 0xf7a0.
  • Il codice esegue successivamente un'operazione di scrittura in memoria a global + 0x18, impostando quell'indirizzo a zero.
  • Seguono ulteriori operazioni di scrittura, tutte derivate dallo stesso valore NVRAM controllato dall'attaccante.
  • Non viene applicato alcun controllo dei limiti, convalida di sanità o controllo degli accessi in nessun punto.

Di conseguenza, un attaccante che riesce a controllare la variabile IhisiParamBuffer ottiene la capacità di influenzare dove avvengono queste scritture in memoria. Sebbene la primitiva di scrittura sia alquanto limitata, consentendo tipicamente scritture di zero o piccole costanti a un indirizzo arbitrario, è comunque abbastanza potente da corrompere uno stato firmware critico.

Nel proof of concept di Binarly, l'attacco prende di mira la variabile globale gSecurity2, che contiene un puntatore al Security2 Architectural Protocol (per una spiegazione dettagliata di questa specifica tecnica di sfruttamento, fare riferimento al seguente repository "TheMalwareGuardian: Exploitation Technique SecureBoot Bypass gSecurity2 Corruption"). Questo protocollo viene consultato dal servizio LoadImage per far rispettare la policy di Secure Boot, il che significa che sovrascrivere gSecurity2 con un puntatore nullo disabilita di fatto i controlli di Secure Boot a runtime. Fondamentalmente, questo bypass è trasparente per il sistema operativo: una volta avviato, Secure Boot appare ancora abilitato a livello di sistema operativo anche se è stato completamente neutralizzato a livello di firmware.

Una sfumatura importante è che sulle piattaforme basate su Insyde, la variabile IhisiParamBuffer è tipicamente bloccata in sola lettura, il che impedisce di fatto lo sfruttamento su quei sistemi senza una vulnerabilità aggiuntiva. Ironia della sorte, ciò significa che il vendor il cui IBV ha introdotto in primo luogo il pattern della variabile vulnerabile è tra i meno esposti, mentre tutte le altre piattaforme rimangono a rischio. Nei casi in cui la variabile è bloccata, un bypass come BRLY-2023-005 può essere concatenato per ottenere l'accesso in scrittura alla variabile prima di procedere con lo sfruttamento. Sui sistemi in cui la variabile è direttamente scrivibile, l'attacco è semplice e altamente affidabile.


🎯 Flusso dell'Attacco

Quanto segue descrive l'attacco end-to-end che sfrutta CVE-2025-3052, assumendo un attaccante privilegiato con accesso a livello di sistema operativo:

  1. Impostare la variabile NVRAM: L'attaccante imposta la variabile NVRAM IhisiParamBuffer dal sistema operativo a un indirizzo di destinazione arbitrario, puntandola a gSecurity2.
  2. Registrare il payload: L'attaccante registra il modulo firmato vulnerabile nell'UEFI Boot Manager (o sostituisce un OS loader esistente con esso), e registra inoltre un secondo modulo non firmato contenente il payload effettivo.
  3. Riavviare: Dopo il riavvio del sistema, il firmware entra nella fase Boot Device Selection (BDS) e inizia a eseguire le voci di avvio registrate.
  4. Esecuzione: Il modulo firmato vulnerabile viene eseguito per primo. La sua primitiva di scrittura limitata viene utilizzata per sovrascrivere gSecurity2 con null, disabilitando l'applicazione di Secure Boot. Con i controlli neutralizzati, il firmware procede a caricare ed eseguire il modulo payload non firmato, concedendo all'attaccante l'esecuzione di codice arbitrario alla fine della fase DXE, prima che il sistema operativo abbia qualsiasi opportunità di stabilire le proprie difese.

📦 Moduli Affetti

Microsoft ha determinato che 14 diversi moduli UEFI erano affetti e ha mitigato il problema aggiungendo i loro hash al dbx di Secure Boot.

Nome del ModuloHash Authenticode SHA-256
BiosFlashShell-efi64-80.02.efiC54A4060B3A76FA045B7B60EEAEBC8389780376BA3EF1F63D417BA1B5528E95
BiosFlashShell-efi64-81.02.efiCBFAA286144EB2D165A6B17245BAD4F73058436C7292BE56DC6EBA29A369ADDF
Dtbios-efi64-70.17.efi9D7E7174C281C6526B44C632BAA8C3320ADDD0C77DC90778CC14893882D74618
Dtbios-efi64-70.18.efi9B1F35052CFC5FB06DABE5E8F7B747F081DA28D722DB59ADE253B9E38A7A3C76
Dtbios-efi64-70.19.efiE3CE55E584371D3F2FBCA2241EF0711FF80876EBF71BAB07D8ECEE645A40DCFC
Dtbios-efi64-70.20.efiEE093913ABBD34CB8B5EA31375179A8B55A298353C03AFE5055AA4E8E3F705EF
Dtbios-efi64-70.21.efiB4E1880425F7857B741B921D04FD9276130927CF90A427C454B970E7A2F442F9
Dtbios-efi64-70.22.efiCDA0B4A59390B36E1B654850428CBB5B4C7B5E4349E87ACDE97FB543736FF1D4
Dtbios-efi64-71.17.efiC87EFD057497F90321D62A69B311912B8EF8A045FE9C5E6BD5C8C1A4E6F39629
Dtbios-efi64-71.18.efi9E19DD645235341A555D6AC0665591453AE13918ECD37DF22DFBEE91EAA9A2DA
Dtbios-efi64-71.19.efi63F67824FDA998798964FF33B87441857DA92F3A8EE3E04166EEC3156E4E6B82
Dtbios-efi64-71.20.efi0BC4F078388D41AB039F87AE84CF8D39302CCBDD70C4ADEE02263EBF6A2DD328
Dtbios-efi64-71.21.efiE2AEC271B9596A461EB6D54DB81785E4E4C615CFDA5F4504BCC0A329248A4D36
Dtbios-efi64-71.22.efi6B4328EBCBE46ED9118FF2D4472DE329D70BA83016DF7A6F50F8AF92342160A1



🤝 Ricerca & Collaborazione

Stai lavorando a qualcosa di simile? Stai facendo ricerca su UEFI, sicurezza del Kernel, sfruttamento o un altro interessante argomento di sicurezza? Se hai bisogno di una mano per sviluppare un exploit, esplorare una tecnica, o semplicemente vuoi scambiare idee, non esitare a contattarmi. Sono sempre aperto a discutere di ricerca, aiutare dove posso e collaborare a progetti interessanti. Sentiti libero di contattarmi su LinkedIn.

Categorie