La heap memory è una regione di memoria utilizzata dai processi in esecuzione per allocare le variabili e le strutture dati create durante l’esecuzione del programma. La stessa area di memoria viene utilizzata anche per gestire oggetti dinamici come array, strutture dati complesse e altre risorse.
Tra le varie problematiche risolte nel corso dell’ultimo patch day di giugno 2023, c’è anche il problema di sicurezza contraddistinto con l’identificativo CVE-2023-32019. Si tratta di una falla scoperta dai ricercatori di Google Project Zero che consente ad aggressori autenticatisi sul sistema di accedere al contenuto della heap memory. L’operazione può essere effettuata anche sui processi dotati di privilegi elevati. Con tutto ciò che ne consegue.
I processi dotati di maggiori privilegi possono modificare le impostazioni di configurazione, gestire driver, servizi e file di sistema, manipolare processi, intervenire sugli account utente. Per questo una vulnerabilità come CVE-2023-32019 è importante: è vero che può essere sfruttata solamente in ambito locale ma questo non esclude che gli aggressori possano utilizzarla come parte integrante di una “catena” di exploit.
Curiosamente, come conferma Microsoft nel documento di supporto sulla patch KB5028407 rilasciata a giugno 2023, pur installando tutti gli aggiornamenti del mese, le modifiche correttive risultano disabilitate. “Per abilitare la correzione, è necessario impostare un valore all’intero del registro di sistema“, chiarisce Microsoft.
Patch kernel attivabile su richiesta da registro di sistema
I tecnici dell’azienda di Redmond non hanno specificato il motivo della scelta limitandosi a chiarire che l’aggiornamento dovrebbe essere abilitato per impostazione predefinita più avanti. Si tratta di una novità per Microsoft che, evidentemente, vuole andare per gradi senza rischiare di attivare per l’intera platea di utenti aggiornamenti a livello di kernel Windows che possano causare qualche problema.
Come indicato nella pagina riportata in precedenza, Microsoft specifica però come abilitare la protezione a livello di heap memory. Il tutto si riduce all’inserimento di un valore DWORD all’interno della chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides
. Il nome del valore da inserire, tuttavia, varia sulla base della versione di Windows installata.
Non è chiaro se l’abilitazione della correzione possa causare problemi a livello di sistema operativo, quindi potrebbe essere più sicuro testarla su alcune macchine non utilizzate per scopi produttivi. Inoltre, Microsoft spiega che una volta abilitata la correzione non è possibile tornare indietro.