Salta al contenuto principale


Sistemi UNIX a Rischio! L’Utility CUPS Espone i Sistemi ad esecuzione di Codice Arbitrario


Il 26 settembre 2024 sono state divulgate quattro vulnerabilità (secondo RedHat di livello
“Important” più che critiche) relative a CUPS – Common Unix Printing System, usato per la
gestione di stampanti su UNIX e Linux, scoperte e riportate da Simone “EvilSocket
Margaritelli.

Queste vulnerabilità, identificate come CVE-2024-47076, CVE-2024-47175,
CVE-2024-47176, CVE-2024-47177,
permettono ad un attaccante remoto non autenticato
di eseguire codice arbitrario sui dispositivi vulnerabili, sfruttando componenti come
libcupsfilters, libppd, cups-browsed e foomatic-rip.

CUPS: Cos’è e come Funziona


CUPS, un sistema di stampa basato su IPP (Internet Printing Protocol), consente la
gestione di stampanti locali e remote. Rispetto ai recenti findings, i suoi meccanismi di
gestione delle richieste IPP e dei file PPD espongono vulnerabilità che, se sfruttate,
permettono agli attaccanti di manipolare le stampanti e inviare comandi prendendo il
controllo dei servers.

Le vulnerabilità scoperte sono le seguenti:

  • CVE-2024-47176: Il componente cups-browsed accetta pacchetti IPP da qualsiasi sorgente, consentendo di inviare richieste Get-Printer-Attributes con URL controllati dall’attaccante. RedHat ha assegnato CVSSv3 score pari a 7.5.
  • CVE-2024-47076: In libcupsfilters, la funzione cfGetPrinterAttributes5 non valida i dati IPP, permettendo l’inserimento di attributi malevoli. RedHat ha assegnato CVSSv3 score pari a 8.2.
  • CVE-2024-47175: In libppd, la funzione ppdCreatePPDFromIPP2 scrive attributi IPP non validati in file temporanei, consentendo l’iniezione di codice. RedHat ha assegnato CVSSv3 score pari a 7.7.
  • CVE-2024-47177: Il filtro foomatic-rip permette l’esecuzione arbitraria di comandi tramite il parametro FoomaticRIPCommandLine in file PPD. RedHat ha assegnato CVSSv3 score pari a 6.1.


Attacco ed Impatti


Queste vulnerabilità, unite, permettono a un attaccante di inviare pacchetti IPP malevoli, modificando gli URL delle stampanti con collegamenti controllati. Una volta avviata la stampa, l’attaccante può eseguire codice arbitrario sul sistema target. Dato che CUPS è abilitato per impostazione predefinita e ascolta sulla porta UDP 631, molti sistemi potrebbero essere esposti se questa porta è accessibile pubblicamente.

Secondo una rapida ricerca condotta da Tenable su Shodan, ci sono circa 75.000 host pubblicamente esposti su internet, aumentando il rischio di exploit su larga scala. Questo rende le vulnerabilità un problema grave, anche se non viene considerata al livello di altre minacce storiche come Log4Shell.

Mitigazione


In attesa di patch ufficiali, è possibile mitigare i rischi seguendo alcune best practice:

  1. Disabilitare o rimuovere cups-browsed: Riducendo così significativamente la superficie di attacco.
  2. Bloccare il traffico sulla porta UDP 631: Limitare l’accesso a questa porta impedendo l’esposizione su internet.
  3. Applicare patch appena possibile: Red Hat e altri vendor stanno lavorando a patch che risolveranno queste vulnerabilità; è essenziale aggiornare i sistemi appena disponibili.

Per verificare se il servizio cups-browsed è attivo (dato che, ad esempio, il servizio non è presente di default su RedHat), si può eseguire il seguente comando tramite CLI:

sudo systemctl status cups-browsed >

Conclusioni


Le vulnerabilità che affliggono CUPS rappresentano una minaccia significativa per i sistemi Linux e UNIX, soprattutto se esposti pubblicamente. Sebbene al momento non ci siano exploit attivi conosciuti, la disponibilità di dettagli tecnici e PoC (Proof of Concept) suggerisce fortemente che emergere presto exploit. Risulta quindi fondamentale che si adottino immediatamente misure preventive per proteggere i vari ambienti.

Per eventuali approfondimenti, postiamo il link al blog-post di EvilSocket del writeup delle vulnerabilità:

L'articolo Sistemi UNIX a Rischio! L’Utility CUPS Espone i Sistemi ad esecuzione di Codice Arbitrario proviene da il blog della sicurezza informatica.