A giugno 2023, Microsoft aveva rilasciato una correzione ufficiale per la vulnerabilità contraddistinta con l’identificativo CVE-2023-32019. Si tratta di una patch kernel ovvero una piccola porzione di codice rilasciata al fine di apportare modifiche al componente di base del sistema operativo che gestisce le risorse hardware e fornisce una piattaforma per l’esecuzione dei software.
L’aggiornamento in questione è subito apparso piuttosto inusuale tanto da far parlare di strano caso della patch per il kernel disabilitata da Microsoft. I tecnici dell’azienda di Redmond, infatti, pur rendendo disponibile pubblicamente la correzione per il kernel di Windows (sono interessate tutte le versioni del sistema operativo attualmente supportate da Microsoft), hanno deciso di non attivare subito l’aggiornamento.
Nel documento di supporto associato all’aggiornamento KB5028407, Microsoft ha messo in guardia utenti finali e amministratori di sistema sostenendo che l’aggiornamento del kernel può potenzialmente essere causa di problemi sul funzionamento di Windows. Un messaggio di allerta che non si vede spesso e che invita alla massima cautela.
L’aggiornamento del kernel KB5028407 viene ora abilitato per tutti
Dopo circa due mesi di ulteriori test, Microsoft ha reso disponibile per tutti gli utenti di Windows l’aggiornamento del kernel in questione. Se prima poteva essere eventualmente attivato con una semplice modifica sul contenuto del registro di sistema, con il rilascio delle patch di agosto 2023 le modifiche abilitabili attraverso il pacchetto KB5028407, risultano applicate per tutti gli utenti.
Microsoft non ha mai chiarito le motivazioni della scelta che hanno portato a non distribuire l’aggiornamento correttivo per la falla CVE-2023-32019 sull’intera platea di sistemi client e server. Facile ipotizzare che la società temesse il manifestarsi di problemi di stabilità di Windows o addirittura il mancato avvio delle macchine.
Quali problemi risolve la patch kernel per la vulnerabilità CVE-2023-32019
La patch kernel rilasciata a giugno 2023 e da oggi attiva per tutti coloro che installano gli aggiornamenti di agosto 2023, evita infatti una circostanza che potrebbe portare alla lettura del contenuto della heap memory da parte di processi in esecuzione con privilegi elevati.
Il pacchetto KB5028407 presenta la descrizione “Windows Kernel Information Disclosure Vulnerability“: questo significa che la vulnerabilità risolvibile con la sua installazione permette a un aggressore di accedere a informazioni riservate gestite dal kernel del sistema operativo. L’espressione “Information Disclosure” indica che l’attacco non comporta una modifica dei dati o un’interruzione del servizio, ma piuttosto mira a ottenere accesso a informazioni che non dovrebbero essere accessibili all’attaccante. Questo tipo di vulnerabilità può essere utilizzato come passo preliminare per ulteriori attacchi, come quelli mirati all’ottenimento di credenziali o all’esecuzione di attacchi più sofisticati. Le vulnerabilità del kernel sono considerate particolarmente gravi, poiché il kernel ha accesso completo all’hardware e ai dati del sistema.
Cos’è la heap memory
La heap memory è una regione della memoria utilizzata dai programmi informatici per l’allocazione dinamica dei dati. A differenza della memoria stack, che viene utilizzata per l’allocazione di variabili locali e dati temporanei con una struttura ben definita, la memoria heap offre una maggiore flessibilità nell’allocazione di dati di dimensioni variabili e di oggetti più complessi.
Oltre all’allocazione dinamica, l’heap consente una facile gestione della memoria che può essere allocata e deallocata in qualsiasi momento durante l’esecuzione del programma; permette di allocare oggetti e strutture dati più complesse come array dinamici, liste concatenate, alberi binari e oggetti propri della programmazione ad oggetti; i dati possono persistere al suo interno oltre il ciclo di vita di un singolo blocco di codice.
L’utilizzo della heap memory, tuttavia, presuppone particolare cautela poiché l’allocazione e la deallocazione devono essere gestite correttamente per evitare il fenomeno noto come memory leak e sovrascritture non autorizzate di dati. Un uso scorretto della memoria heap può portare a crash dei programmi in esecuzione e a problemi di sicurezza.
È facile intuire, quindi, perché Microsoft abbia in questo caso preferito muoversi con i proverbiali piedi di piombo.