.
Pesquisadores da Qualys se recusam a liberar código de exploração para cinco bugs no utilitário needrestart do mundo Linux que permite que invasores locais sem privilégios obtenham acesso root sem qualquer interação do usuário.
A Unidade de Pesquisa de Ameaças (TRU) da empresa de segurança disse que foi capaz de desenvolver uma exploração funcional, mas não a divulgou, descrevendo as descobertas como “alarmantes”. Independentemente disso, eles disseram que as vulnerabilidades são “facilmente exploráveis” e pediram aos administradores que aplicassem as correções recomendadas imediatamente.
Para ser claro, as falhas podem ser exploradas por usuários locais desonestos e sequestrados, ou malware, já em um sistema para obter acesso root.
Saeed Abbasi, gerente de produto da TRU da Qualys, divulgou as cinco vulnerabilidades esta semana pela primeira vez em um blog, embora, segundo especialistas, elas tenham sido introduzidas em abril de 2014.
Todas as vulnerabilidades estão no utilitário needrestart, que, de forma bastante intuitiva, foi projetado para determinar se uma reinicialização é necessária. Por exemplo, se uma biblioteca crítica for atualizada ou uma instalação ou outra atualização for feita, ele determina que uma reinicialização é necessária para trazer as alterações e inicia a reinicialização automaticamente se for o caso.
A pequena ferramenta está disponível separadamente e em diversas distribuições Linux, e como destacou Abbasi, está presente por padrão no Ubuntu Server, pelo menos.
As notas técnicas mais detalhadas da Qualys sobre as vulnerabilidades explicam que o needrestart oferece benefícios de segurança ao identificar arquivos de origem desatualizados, pois podem conter bugs, ao mesmo tempo que, ironicamente, também é a fonte de uma série desagradável de explorações.
“Essa exploração é alcançada através da manipulação de uma variável de ambiente controlada pelo invasor que influencia o interpretador Python/Ruby, passando dados não higienizados para uma biblioteca que espera uma entrada segura, permitindo assim a execução de comandos shell arbitrários”, escreveu Abbasi.
Cada uma das cinco vulnerabilidades é detalhada abaixo:
-
CVE-2024-48990 (CVSSv3: 7.8): está relacionado à necessidade de reiniciar a extração da variável de ambiente PYTHONPATH para determinar se uma reinicialização é necessária. Se um invasor local puder controlar essa variável, ele poderá executar o código como root.
-
CVE-2024-48991 (CVSSv3: 7.8): Também em relação ao interpretador Python, o utilitário é vulnerável a uma condição de corrida TOCTOU, que, se explorada com sucesso, permite que um invasor execute seu próprio interpretador Python e execute código como root. Os pesquisadores acreditam que isso também afeta o interpretador Ruby, mas não puderam confirmar a tempo para a divulgação.
-
CVE-2024-48992 (CVSSv3: 7.8): Essencialmente o mesmo bug do CVE-2024-48990, mas afeta o interpretador Ruby, com a confirmação feita pouco antes da divulgação na última hora.
-
CVE-2024-10224 (CVSSv3: 5.3): refere-se ao interpretador Perl do needrestart, que se comporta de maneira diferente dos equivalentes Python e Ruby, embora a descrição indique que a vulnerabilidade está tecnicamente no módulo ScanDeps do Perl, que executa o interpretador. Os invasores podem criar nomes de arquivos no formato dos comandos shell que desejam executar.
-
CVE-2024-11003 (CVSSv3: 7.8): está relacionado ao CVE-2024-10224 e diz respeito à entrada não higienizada que é passada para o ScanDeps e que pode levar à execução de comandos shell arbitrários.
Needrestart é instalado por padrão e foi introduzido na versão 0.8 há mais de dez anos. Todas as versões do utilitário anteriores à 3.8 são consideradas vulneráveis e os invasores podem executar código como root. Versões posteriores à 3.8 têm a correção aplicada.
O Ubuntu Server é amplamente utilizado, especialmente para executar VMs, e embora não existam números exatos que mostrem quantas instâncias estão atualmente vulneráveis, o número provavelmente está na casa dos milhões.
As vulnerabilidades, no entanto, poderiam ser piores. O fato de um invasor precisar de acesso local a uma instância do Ubuntu Server significa que possíveis invasores precisariam passar por todos os desafios adicionais para obter esse acesso por meio de software de acesso remoto, malware ou credenciais válidas.
“Um invasor que explore essas vulnerabilidades pode obter acesso root, comprometendo a integridade e a segurança do sistema”, acrescentou Abbasi.
“Isso representa riscos consideráveis para as empresas, incluindo acesso não autorizado a dados confidenciais, instalação de malware e interrupção das operações comerciais. Poderia levar a violações de dados, não conformidade regulatória e erosão da confiança entre clientes e partes interessadas, afetando, em última análise, a reputação da organização. . As empresas devem mitigar rapidamente este risco atualizando o software ou desativando o recurso vulnerável.”
Atualizar para a versão 3.8 ou posterior do needrestart é o curso de ação recomendado, embora Qualys também tenha dito que os usuários podem modificar a configuração do needrestart para desabilitar sua heurística de intérprete, o que atenua o problema. ®
.