Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Linux bug di CUPS consentono esecuzione di codice remoto

Le vulnerabilità sui sistemi Linux prevedono lo sfruttamento del daemon cups-browsed, che solitamente è disabilitato di default.
Linux bug di CUPS consentono esecuzione di codice remoto
Le vulnerabilità sui sistemi Linux prevedono lo sfruttamento del daemon cups-browsed, che solitamente è disabilitato di default.
Link copiato negli appunti

Lo sviluppatore Simone Margaritelli ha scoperto alcune vulnerabilità di sicurezza su CUPS (Common UNIX Printing System), il sistema di stampa più utilizzato sui sistemi Linux. Queste sono tracciate come CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) e CVE-2024-47177 (cups-filters). In determinate condizioni, gli hacker possono concatenare queste vulnerabilità in più componenti del sistema di stampa open source CUPS. Ciò permette di eseguire codice arbitrario da remoto su macchine vulnerabili. Tuttavia, i bug non influiscono sui sistemi nella loro configurazione predefinita.

Uno dei suoi componenti è il daemon cups-browsed che ricerca nella rete locale le reti pubblicizzate o le stampanti condivise rendendole disponibili per la stampa. Ciò avviene in modo simile al modo in cui Windows e Mac possono cercare nella rete stampanti di rete remote su cui stampare. Margaritelli ha scoperto che, se il daemon cups-browsed è abilitato, cosa che non avviene sulla maggior parte dei sistemi, resterà in ascolto sulla porta UDP 631. Inoltre, per impostazione predefinita, consentirà connessioni remote da qualsiasi dispositivo sulla rete per creare una nuova stampante.

Lo sviluppatore ha scoperto che poteva creare una stampante PostScript Printer Description (PPD) dannosa. Questa poteva essere pubblicizzata manualmente su un servizio "cups-browsed" esposto sulla porta UDP 631. Ciò fa sì che la macchina remota installi automaticamente la stampante malevola e la renda disponibile per la stampa. Se l'utente del server esposto stampa su quella stampante, il comando malevolo nel file PPD verrà eseguito localmente sul computer. Il comando da eseguire durante la stampa viene aggiunto tramite un filtro "foomatic-rip". Questo esegue comandi su un dispositivo affinché un processo di stampa venga reso correttamente.

Linux: diversi ostacoli per lo sfruttamento della vulnerabilità

Sebbene si tratti di una catena di esecuzione di codice in modalità remota, va notato che gli aggressori devono superare alcuni ostacoli per sfruttare le vulnerabilità. Il primo è che i sistemi Linux presi di mira devono avere abilitato il daemon cups-browsed, che di solito non è abilitato per impostazione predefinita. In seguito, l'aggressore deve indurre un utente a stampare da un server di stampa dannoso sulla rete locale che appare improvvisamente sul suo computer. Come riportato da Ilkka Turunen, Field CTO di Sonatype su LinkedIn: “si tratta di un RCE ma con diverse attenuanti. L’hacker deve essere anche in grado di connettersi a un computer tramite UDP che è spesso disabilitato all'ingresso della rete e il servizio di solito non è attivo per impostazione predefinita”. Per questi motivi, Red Hat ha classificato i difetti come aventi un impatto di gravità "importante" anziché critico.

Le patch per queste vulnerabilità sono ancora in fase di sviluppo. Tuttavia, Red Hat ha condiviso misure di mitigazione che richiedono agli amministratori di interrompere l'esecuzione del servizio cups-browsing e di impedirne l'avvio al riavvio. Per fare ciò bisogna utilizzare i seguenti comandi per interrompere la catena di exploit: “sudo systemctl stop cups-browsed sudo systemctl disable cups-browsed”.

Gli utenti Red Hat possono anche utilizzare il comando “sudo systemctl status cups-browsed” per scoprire se cups-browsed è in esecuzione sui loro sistemi. Se il risultato visualizza "Active: inactive (dead)", allora la catena di exploit è interrotta e il sistema non è vulnerabile. Se il risultato visualizza "running" o "enabled" e la direttiva "BrowseRemoteProtocols" contiene il valore "cups" nel file di configurazione /etc/cups/cups-browsed.conf, allora il sistema è vulnerabile.

Ti consigliamo anche