Ubuntu ha da poco sistemato un’importante falla che ha riguardato lo spooler di stampa CUPS (Common Unix Printing System), la quale consentiva a degli autori di un attacco di eseguire in remoto codice Linux. Collocandosi tra le vulnerabilità più gravi possibili, la falla era stata categorizzata con un punteggio elevato di 9,9.
Ubuntu: corretta la falla allo spooler di stampa CUPS che permetteva l’esecuzione di codice Linux da remoto
Come spiegato da Canonical stessa nel suo blog, la vulnerabilità veniva sfruttata inducendo il componente CUPS a generare un file PPD (PostScript Printer Description), che veniva direttamente controllato dall’aggressore per eseguire un comando arbitrario a distanza, su Linux. Ciò poteva essere ripetuto ogni volta che un processo di stampa veniva inviato alla stampante, permettendo l’esecuzione del comando come utente lp, il che non avrebbe tuttavia privilegi elevati, salvo ulteriori vulnerabilità ancora non scoperte.
La falla è stata scoperta dallo sviluppatore nostrano Simone Margaritelli, che nel suo blog ha anche spiegato come l’attacco può essere eseguito silenziosamente e senza nemmeno bisogno di alcuna autenticazione, oltre che da remoto. Lo sviluppatore ha anche dovuto mettersi d’impegno affinché la sua segnalazione venisse presa sul serio.
Red Hat ha anche riassunto l’attacco in uno schema pratico:
- Il servizio cups-browsed è abilitato o avviato manualmente
- L’attaccante ottiene l’accesso a una rete vulnerabile la quale, a sua volta, consente l’accesso illimitato, come una rete pubblica, oppure a una rete interna in cui le connessioni locali sono affidabili.
- A questo punto, l’attaccante riesce ad avere accesso alla stampante tramite il componente CUPS.
- Una volta che l’utente, vittima dell’attacco, tenta di stampare un file, l’aggressore può eseguire il codice arbitrario in remoto.
La vulnerabilità che interessava lo spooler CUPS di Linux è stata quindi sistemata adesso, per la prima volta, interessando per anni il componente. Esistevano già tuttavia dei modi per correre al riparo, utilizzando ad esempio un firewall o un router NAT per bloccare la porta interessata.
Ubuntu sta già rilasciando gli aggiornamenti con i correttivi nei canali “cups-browsed”, “cups-filters”, “libcupsfilters” e “libppd”, risolvendo anche alcuni bug che riguardavano questi pacchetti.