L’ecosistema Windows rafforza le difese contro gli attacchi basati su script grazie a un’importante modifica apportata a PowerShell 5.1. Con gli aggiornamenti cumulativi di dicembre 2025 per Windows 11 (KB5072033 e KB5071417) e Windows 10 (KB5071546), Microsoft introduce un nuovo meccanismo di sicurezza progettato per mitigare una vulnerabilità di tipo Remote Code Execution (RCE) tracciata come CVE-2025-54100.
La modifica riguarda uno dei cmdlet più diffusi negli ambienti di automazione e orchestrazione: si tratta di Invoke-WebRequest, utilizzato spesso per scaricare contenuti Web, interrogarne l’output o alimentare pipeline complesse all’interno di script di provisioning, deployment e monitoraggio.
Questa vulnerabilità, pur avendo un impatto limitato sugli utenti consumer (ma non nullo!), è particolarmente rilevante negli ambienti enterprise, dove gli script PowerShell rappresentano un componente critico del flusso operativo quotidiano. Per questo motivo Microsoft ha scelto un approccio proattivo: avvisare e bloccare l’esecuzione predefinita in contesti potenzialmente rischiosi.
Perché Invoke-WebRequest rappresenta un rischio?
A differenza di PowerShell 7, che utilizza un motore di parsing più sicuro, la versione 5.1 conduce un’analisi completa del contenuto HTML della pagina scaricata. Il comportamento espone i sistemi a scenari pericolosi.
Ad esempio, se una pagina Web contiene script malevoli e lo script PowerShell la scarica tramite la cmdlet Invoke-WebRequest senza particolari accorgimenti, potrebbe verificarsi un’esecuzione automatica del codice remoto sul sistema locale durante il parsing, consentendo attacchi RCE. Si tratta di un vettore insidioso, perché spesso invisibile e non immediatamente associato a un rischio da parte degli amministratori.
Il nuovo comportamento di sicurezza con PowerShell 5.1: il prompt di conferma
Dopo l’installazione degli aggiornamenti di dicembre 2025 per Windows 10 (attraverso l’adesione al programma ESU, Extended Security Updates) e Windows 11, PowerShell 5.1 introduce un nuovo prompt di sicurezza ogni volta che uno script invoca la cmdlet Invoke-WebRequest <URL> senza parametri aggiuntivi.
Il sistema ora mostra un avviso esplicito:
Security Warning: Script Execution Risk. Invoke-WebRequest analyses the content of the webpage. Script code inside the page might be executed during parsing.
Confermando l’operazione, si prosegue con il parsing completo, accettando il rischio. Diversamente, le attività condotte dallo script sono annullate.
Microsoft suggerisce di usare il parametro -UseBasicParsing perché con questa opzione PowerShell non esegue il parsing avanzato, riducendo l’interazione con eventuali script incorporati nella pagina. Il contenuto è trattato come semplice testo, comportamento che neutralizza del tutto la vulnerabilità CVE-2025-54100.
Impatto sull’automazione: cosa devono fare gli amministratori
Il nuovo avviso si applica anche ai comandi curl eseguiti su Windows poiché PowerShell ridefinisce curl come alias di Invoke-WebRequest.
Questo significa che gli script legacy, i tool di provisioning, gli agenti di automazione e monitoring basati su PowerShell, potrebbero interrompersi, rimanendo in attesa di una conferma manuale. La mitigazione consigliata per evitare blocchi consiste nell’aggiornamento dei propri script, usando la sintassi Invoke-WebRequest -UseBasicParsing ….
Microsoft conferma che nella maggior parte dei casi non è richiesto nessun altro adattamento: gli script che si limitano a scaricare file o trattare il contenuto come testo non subiscono variazioni funzionali a valle della modifica di sicurezza applicata su PowerShell 5.1.