Windows Server: vulnerabilità wormable scoperta nelle versioni più recenti

Non soltanto le macchine con il web server IIS ma anche altri sistemi che usano il componente http.sys sono a rischio di attacco. La vulnerabilità è stata introdotta in Windows Server 2019 e Windows 10 versione 1809 ma è sfruttabile "per default" nelle successive versioni del sistema operativo.

Le falle di sicurezza relative a componenti che risultano esposti in rete sono la “bestia nera” per tutti gli amministratori IT.
Con il patch day Microsoft di gennaio 2022 è emersa l’esistenza di una pericolosa vulnerabilità nelle versioni più recenti di Windows Server oltre che in Windows 10 e in Windows 11.

Il problema in questione interessa il file di sistema http.sys che viene tipicamente descritto come il componente alla base del funzionamento del server web IIS (Internet Information Services), installabile non solo in Windows Server ma anche nelle versioni client del sistema operativo Microsoft. Lo stesso file, però, è parte integrante di molti altri componenti software ampiamente usati in azienda: si pensi ad esempio a WinRM (Windows Remote Management) e WSDAPI (Web Services for Devices).

Come spiega Microsoft nel documento di supporto per la falla CVE-2022-21907 il bug di sicurezza appare particolarmente grave soprattutto su Windows Server perché in molti casi si tratta di macchine che usano IIS o altri componenti basati su http.sys.
Un aggressore remoto può eseguire codice dannoso sul sistema vulnerabile attraverso la rete senza disporre di credenziali di autenticazione e senza la necessità di alcuna interazione da parte della vittima. Ecco perché si tratta di una vulnerabilità wormable: i server non protetti possono essere aggrediti a distanza e utilizzati per scansionare la rete alla ricerca di altre macchine da attaccare.

La vulnerabilità in questione, che fortunatamente non risulta ancora utilizzata da parte dei criminali informatici, è stata introdotta in Windows Server 2019 e Windows 10 versione 1809. Queste versioni del sistema operativo Microsoft, però, integrano un’impostazione a livello di registro di sistema che disabilita il componente vulnerabile: di default, quindi, le installazioni standard non sono immediatamente aggredibili.
Tutte le successive versioni di Windows e Windows Server sono invece vulnerabili perché la stessa funzionalità oggetto oggi di correzione mediante il rilascio di una patch ufficiale risulta oggi abilitata in modo predefinito.

Di quale caratteristica parliamo? Microsoft spiega che http.sys può essere impostato da registro di Windows per inviare pacchetti di richiesta e risposta suddivisi in frammenti. Il meccanismo di chiama Trailer ed è gestibile attraverso la chiave HKLM\System\CurrentControlSet\Services\HTTP\Parameter\EnableTrailerSupport.
Utilizzando la funzione Trailer, ad esempio, la trasmissione degli header (“intestazioni”) di una pagina web può essere posticipata dando massima priorità al caricamento del corpo della pagina stessa.

Per verificare se la propria installazione di Windows fosse vulnerabile è possibile aprire una finestra PowerShell e digitare quanto segue:

Get-ItemProperty  "HKLM:\System\CurrentControlSet\Services\HTTP\Parameters" | Select-Object EnableTrailerSupport

Se si ottenesse come risposta il valore DWORD 1 in corrispondenza di EnableTrailerSupport significa che in assenza dell’aggiornamento risolutivo appena pubblicato da Microsoft il sistema in uso potrebbe essere aggredito da remoto.
Impostando il valore EnableTrailerSupport ci si mette al riparo dal rischio di eventuali attacchi: l’intervento ha efficacia in Windows Server 2019 e in Windows 10 ma non ha alcun effetto nel caso delle successive versioni del sistema operativo.

Su tutte le versioni di Windows più recenti, in caso di utilizzo del componente http.sys, è quindi caldamente suggerita la tempestiva installazione della patch Microsoft. Anche perché sebbene al momento non siano noti codici exploit funzionanti, secondo gli stessi tecnici dell’azienda di Redmond uno sfruttamento della vulnerabilità CVE-2022-21907 potrebbe essere imminente.

Il comando netsh http show servicestate aiuta a scoprire se si stesse usando il componente http.sys mentre la presenza del riferimento Transfer-Encoding: chunked negli header restituiti da un server web (si può effettuare una verifica con gli Strumenti per gli sviluppatori del browser, tasto F12, sezione Network) sta a significare che la funzionalità Trailer risulta attiva e in uso.

Ti consigliamo anche

Link copiato negli appunti