Uma nova vulnerabilidade foi descoberta recentemente em um servidor de impressão amplamente utilizado que é instalado por padrão em muitos sistemas de interface gráfica de usuário baseados em Linux e Unix. O principal vetor de ataque para esta vulnerabilidade é o agendador de impressão CUPS (Common Cell Printing System), especificamente navegado por cups, que tem potencial para execução remota de código sem necessidade de interação do usuário.
Segundo relatos, RHEL e Canonical deram à vulnerabilidade uma pontuação CVSS de 9,9, mas essa pontuação gerou um debate acalorado, com alguns argumentando que deveria ter uma pontuação mais baixa porque, embora o código possa ser baixado remotamente para o sistema, ele não pode ser executado sem a intervenção do usuário. Felizmente, não há evidências de que a falha tenha sido explorada, embora a divulgação tenha vazado online antes de sua divulgação privada planejada em outubro, levando o desenvolvedor que a descobriu a postar uma explicação completa em seu blog. Nesse caso, é provável que atores mal-intencionados comecem a explorar a vulnerabilidade.
De acordo com uma longa postagem no blog da pesquisadora SimoneMargaritelli, os serviços relacionados ao sistema de impressão CUPS são vulneráveis à execução remota de código. Essencialmente, o sistema atacante engana o agendador de impressão fazendo-o acreditar que é uma impressora e envia malware (código executável potencialmente arbitrário) disfarçado como um arquivo de configuração da impressora. Este processo não requer intervenção do usuário, pois o CUPS aceitará qualquer pacote enviado pela porta *:631.
resumo:
CVE-2024-47176|cups-browsed<=2.0.1 vincula-se a UDPINADDR_ANY:631, confiando em qualquer pacote de qualquer origem para acionar uma solicitação IPP Get-Printer-Attributes para uma URL controlada pelo invasor.
CVE-2024-47076|libcupsfilters<=2.1b1cfGetPrinterAttributes5 não valida ou limpa atributos IPP retornados do servidor IPP, fornecendo dados controlados pelo invasor para outras partes do sistema CUPS.
CVE-2024-47175|libppd<=2.1b1ppdCreatePPDFromIPP2 não valida ou limpa atributos IPP ao gravá-los em um arquivo PPD temporário, permitindo que dados controlados pelo invasor sejam injetados no PPD gerado.
CVE-2024-47177|cup-filters<=2.0.1foomatic-rip permite a execução arbitrária de comandos por meio do parâmetro FoomaticRIPCommandLinePPD.
A exploração específica depende de um grande número de vulnerabilidades não corrigidas, algumas das quais têm mais de uma década, portanto esta é uma preocupação particular para usuários com sistemas baseados em Linux ou Unix. Para que esse vetor de ataque funcione, o sistema precisa ter o CUPS (Common Unix Printing System) e o cups-browsed instalados e em execução, que é o padrão em muitos sistemas. De acordo com Margaritelli, existem atualmente de 200.000 a 300.000 sistemas conectados à Internet e fornecendo serviços de impressão, mas Shodan relata (veja a imagem acima) que existem aproximadamente 76.000 sistemas com portas CUPS abertas e conectadas à Internet.
Embora os pesquisadores afirmem que a maioria das distribuições GNU/Linux, bem como potencialmente o ChromeOS e o macOS, são afetadas, deve-se notar que esta não é a configuração padrão para muitas distribuições Linux e, especialmente, não deve ser a configuração de quaisquer grandes servidores ou data centers, o que significa que o maior grupo-alvo será de usuários de PCs particulares executando Linux.