Falhas do CUPS permitem a execução remota de código do Linux, mas há um problema
Sob certas condições, os invasores podem encadear um conjunto de vulnerabilidades em vários componentes do sistema de impressão de código aberto CUPS para executar código arbitrário remotamente em máquinas vulneráveis.
Rastreadas como CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) e CVE-2024-47177 (cups-filters) e descobertas por Simone Margaritelli, essas falhas de segurança não afetam os sistemas em sua configuração padrão.
CUPS (abreviação de Common UNIX Printing System) é o sistema de impressão mais usado em sistemas Linux e também é geralmente suportado em dispositivos que executam sistemas operacionais do tipo Unix, como FreeBSD, NetBSD e OpenBSD e seus derivados.
Um de seus componentes é o daemon de navegação em xícaras, que pesquisa na rede local por impressoras de rede anunciadas ou compartilhadas e as disponibiliza para impressão na máquina. Isso é semelhante a como o Windows e os Macs podem pesquisar na rede impressoras de rede remotas para imprimir.
Margaritelli descobriu que, se o daemon navegado por xícaras estiver ativado, o que não está na maioria dos sistemas, ele escutará na porta UDP 631. Ele também, por padrão, permitirá conexões remotas de qualquer dispositivo na rede para criar uma nova impressora.
Ele descobriu que poderia criar uma impressora PostScript Printer Description (PPD) maliciosa que poderia ser anunciada manualmente para um serviço exposto em execução na porta UDP 631.
Isso faz com que a máquina remota instale automaticamente a impressora maliciosa e a disponibilize para impressão. Se o usuário nesse servidor exposto imprimir na nova impressora, o comando mal-intencionado no PPD será executado localmente no computador.
O comando a ser executado ao imprimir é adicionado por meio de um filtro foomatic-rip, que executa comandos em um dispositivo para que um trabalho de impressão seja renderizado corretamente.
Impacto mundial limitado
Embora esta seja uma cadeia de execução remota de código, deve-se observar desde o início que os invasores devem superar alguns obstáculos para explorar as vulnerabilidades e realmente alcançar a execução remota do código.
A primeira é que os sistemas de destino devem ter o daemon cups-browsed habilitado, que geralmente não é habilitado por padrão, para expor suas portas UDP em uma rede. Em seguida, o invasor precisa induzir um usuário a imprimir a partir de um servidor de impressora malicioso em sua rede local que aparece repentinamente em sua máquina.
“É uma cadeia de bugs que dependem da falsificação de uma impressora em sua rede local que é adicionada automaticamente por meio da descoberta de rede, se estiver ativada – geralmente não em sua configuração padrão. Em seguida, uma variável não verificada que é usada para explorar outras vulnerabilidades no sistema CUPS para executar código, mas apenas quando um trabalho de impressão é acionado”, disse Ilkka Turunen, CTO de campo da Sonatype.
“Boas notícias então – é um RCE, mas com várias mitigações, incluindo o fato de que o invasor precisa ser capaz de se conectar a um computador via UDP, que é amplamente desativado na entrada da rede e o serviço geralmente não está ativado por padrão. Parece que o impacto no mundo real é baixo.”
Por esses motivos, a Red Hat classificou as falhas como tendo um impacto de gravidade “Importante” em vez de crítico.
Embora os testes do BleepingComputer tenham mostrado que a maioria de nossos servidores Linux não tinha o serviço habilitado por padrão, uma de nossas VMs Ubuntu tinha. Outros também notaram no Twitter que o cups-browsed foi ativado por padrão em seus dispositivos Linux.
Sem patches, mas medidas de mitigação estão disponíveis
Enquanto os patches ainda estão em desenvolvimento, a Red Hat compartilhou medidas de mitigação exigindo que os administradores interrompam a execução do serviço de navegação de cups e impeçam que ele seja iniciado na reinicialização usando os seguintes comandos para quebrar a cadeia de exploração:
sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed
Os usuários do Red Hat também podem usar o seguinte comando para descobrir se o cups-browsed está sendo executado em seus sistemas:
sudo systemctl status cups-browsed
Se o resultado exibir “Ativo: inativo (morto)”, a cadeia de exploração será interrompida e o sistema não estará vulnerável. Se o resultado mostrar “em execução” ou “habilitado” e a diretiva “BrowseRemoteProtocols” contiver o valor “cups” no arquivo de configuração /etc/cups/cups-browsed.conf, então o sistema está vulnerável.
Fonte: BleepingComputer
Veja também:
- Organizações Educacionais pagaram resgate mais alto que o exigido
- Maioria das organizações enfrentam incidentes de segurança na nuvem
- Ucrânia proíbe uso Telegram no governo
- Microsoft encerra desenvolvimento do Windows Server Update Services (WSUS)
- Como gerenciar o Shadow TI e reduzir sua superfície de ataque
- Hackers usam malware Supershell para atacar servidores Linux
- Phishing e tensões geopolíticas ameaçam setor financeiros
- Risco de vazamento do ServiceNow expõe milhares de empresas
- Intel alerta sobre 20+ vulnerabilidades
- Governo Federal registra recorde de vazamentos de dados em 2024
- Phishing explora scripts de aplicativos do Google
- AWS WAF vs. Cloudflare
Deixe sua opinião!