Nos últimos dias, foi divulgada uma grave vulnerabilidade de segurança no CUPS, o sistema de impressão utilizado em diversas distribuições Linux, incluindo o Ubuntu e o Chrome OS. Essa vulnerabilidade crítica, com uma pontuação de severidade de 9,9, permite a execução remota de código (RCE) e é uma das falhas mais graves encontradas em sistemas Linux. Felizmente, mantenedores como a Canonical, empresa responsável pelo Ubuntu, já liberou patches de segurança para corrigir o problema.
A vulnerabilidade no CUPS
A vulnerabilidade está relacionada à forma como o CUPS manipula arquivos PPD (PostScript Printer Description) usados para descrever as características das impressoras. Essencialmente, o problema surge quando um invasor consegue manipular esses arquivos PPD para conter comandos arbitrários. Quando o próximo trabalho de impressão é enviado para a impressora comprometida, o comando malicioso é executado com os privilégios do usuário ‘lp’ (o usuário padrão para o daemon do CUPS).
Segundo a Canonical, a vulnerabilidade pode ser explorada de duas maneiras:
- Em redes locais: O invasor pode usar o mDNS para registrar automaticamente uma nova impressora ou substituir o arquivo PPD associado a uma impressora existente. Isso exige que o invasor envie pacotes multicast para a porta 631, que é manipulada pelo daemon cups-browsed.
- Em qualquer rede (incluindo a internet): Um protocolo legado baseado em UDP pode ser usado para registrar uma impressora com um arquivo PPD malicioso. Neste cenário, o invasor envia um datagrama UDP para a porta 631, que também é gerenciada pelo cups-browsed. Embora firewalls e roteadores NAT possam bloquear esse tipo de ataque, sistemas sem essas proteções estão em risco.
Cadeia de exploração
Essa vulnerabilidade faz parte de uma cadeia de ataques identificada com os códigos CVE-2024-47076, CVE-2024-47175, CVE-2024-47176 e CVE-2024-47177.
Esses quatro CVEs, em conjunto, formam uma cadeia de exploração de alto impacto. A Canonical lançou atualizações para os pacotes cups-browsed, cups-filters, libcupsfilters e libppd para todas as versões LTS do Ubuntu sob suporte padrão. Esses patches resolvem os três primeiros CVEs, enquanto o CVE-2024-47177 é corrigido indiretamente pelas outras três vulnerabilidades já corrigidas.
As demais distros Linux devem aderir à atualização, algumas das mais famosas, como o Fedora e o Arch Linux já estão disponibilizando aos usuários finais.
A Canonical recomenda que os usuários apliquem as atualizações o mais rápido possível, especialmente em servidores de impressão ou computadores que se conectam a redes não confiáveis. Para servidores que não possuem regras adequadas de firewall, ou laptops que frequentemente se conectam a redes públicas, o risco é considerável.
A melhor maneira de proteger o seu sistema é aplicando as atualizações de segurança. Para o Ubuntu e derivados, execute os seguintes comandos em seu terminal:
sudo apt update && sudo apt upgrade
sudo systemctl restart cups.service
Se você preferir atualizar apenas os pacotes afetados diretamente, pode usar o seguinte comando:
sudo apt update && sudo apt install --only-upgrade cups-browsed cups-filters cups-filters-core-drivers libcupsfilters2t64 libppd2 libppd-utils ppdc
sudo systemctl restart cups
A partir da versão 16.04 LTS, o Ubuntu já vem com o recurso de atualizações automáticas ativado por padrão. Esse serviço aplica novas atualizações de segurança automaticamente a cada 24 horas, mas ainda assim é recomendável reiniciar o daemon do CUPS manualmente para garantir que tudo esteja funcionando corretamente.
Essa vulnerabilidade no CUPS é um lembrete de que, mesmo componentes antigos e amplamente utilizados no Linux, como o sistema de impressão, podem esconder falhas graves de segurança. A Canonical agiu rapidamente para corrigir o problema, e a recomendação é aplicar as atualizações imediatamente.
Fique por dentro das principais notícias da semana sobre Linux e tecnologia, assine nossa newsletter!