Windows PrintNightmare, la nuova vulnerabilità zero-day di Microsoft
Microsoft annuncia una nuova vulnerabilità: Windows PrintNightmare è un bug zero-day attualmente usato dagli attaccanti, per il quale ancora non esiste una patch. L’avviso dell’azienda ha annunciato la presenza della vulnerabilità, identificata dal codice CVE-2021-34527, indicando diverse contromisure per mitigare gli attacchi che la sfruttano. Microsoft ha classificato il problema come critico e ne ha confermato la presenza su tutte le versioni di Windows. Il bug colpisce lo spooler di stampa del SO, e permette a un attaccante di ottenere il controllo sul sistema.
Windows PrintNightmare
Secondo il report di Microsoft la vulnerabilità permetterebbe a un attaccante di eseguire codice malevolo da remoto sfruttando il print spooler di Windows. Questo sistema è incaricato di memorizzare la coda di stampa e inviare i documenti alla stampante. La funzionalità si occupa anche di gestire anche le stampanti condivise in rete, e quindi anche di supervisionare le code dei diversi utenti collegati.
Esiste una vulnerabilità legata all’esecuzione di codice in modalità remota quando il servizio Windows Print Spooler esegue in modo improprio operazioni sui file privilegiati. Un hacker che riesce a sfruttare questa vulnerabilità potrebbe eseguire codice arbitrario con privilegi di sistema. L’hacker potrebbe quindi installare programmi, visualizzare, modificare o eliminare dati o creare nuovi account con diritti di amministratore completi.
Microsoft
Nel dettaglio, il servizio Spooler esegue alcune operazioni sui file in coda di stampa in maniera impropria, utilizzando privilegi troppo elevati. Un attaccante, sfruttando questo bug, può eseguire codice da remoto sfruttando i privilegi dello spooler, installando programmi o cancellando dati sul sistema della vittima. La funzione incriminata è RPC-RpcAddPrinterDriverEx dell’eseguibile spoolsv.exe. Questa permette di installare il driver della stampante su un sistema, e qualsiasi utente autenticato è in grado di eseguirla specificando un driver che si trova su un server remoto. Il servizio spoolsv.exe esegue codice su un file DLL con i privilegi di sistema, e l’attaccante può sfruttare questa dinamica per prendere il controllo della macchina.
Microsoft ha inoltre annunciato che la vulnerabilità sta venendo attivamente sfruttata, ma non ha fornito dettagli. Sembrerebbe poi che il bug sia frutto di un errore: PrintNightmare sarebbe stato pubblicato per sbaglio dai ricercatori di Sangfor. Il gruppo avrebbe sviluppato un exploit proof-of-concept per i sistemi Windows, rilasciando il codice su GitHub. I ricercatori pensavano che le vulnerabilità legate al processo di stampa fossero già state tutte risolte, perciò hanno pubblicato il codice, attualmente non più online. Alcuni attaccanti, però, sono riusciti a forkare il progetto e utilizzarlo per sfruttare la vulnerabilità prima che venisse tolto.
Come mitigare i danni
Al momento non ci sono patch ufficiali per la risoluzione del bug. 0patch ha rilasciato alcuni update non ufficiali che implementano le misure di mitigazione suggerite da Microsoft, ma non ci sono ancora notizie di aggiornamenti di sicurezza da parte dell’azienda. Microsoft ha rilasciato una nota di sicurezza con alcuni suggerimento per arginare i possibili danni:
- gli amministratori di rete possono disabilitare il print spooler e la stampa remota disattivando il criterio di gruppo “Consenti allo spooler di stampa di accettare connessioni client”;
- gli utenti possono disattivare lo spooler forzando lo stop del servizio e disattivandone l’attivazione all’avvio del sistema.
Il consiglio principale di Windows è quello di disattivare il servizio per bloccare PrintNightmare, riattivandolo solo quando è necessario e usandolo il meno possibile. Per ora si deve preferire la stampa locale con connessione diretta al device, finché Microsoft non rilascerà la patch per risolvere la vulnerabilità. L’8 giugno scorso l’azienda aveva rilasciato una patch per risolvere un altro bug allo spooler di stampa (simile a questo). Sebbene l’aggiornamento non sia sufficiente a risolvere il CVE-2021-34527, è comunque in grado di arginare ulteriori problemi e offrire un livello di sicurezza maggiore.