No Rust Coreutils, foram identificadas 113 vulnerabilidades. No Ubuntu 26.04, os comandos cp, mv e rm foram retornados do GNU Coreutils.

A Canonical publicou resultados preliminares de uma auditoria de segurança independente do conjunto de ferramentas uutils coreutils (Rust Coreutils), escrito em Rust e parcialmente utilizado no Ubuntu em vez do pacote GNU Coreutils. A auditoria foi realizada pela Zellic, que tem experiência em análise de vulnerabilidades em projetos escritos em Rust. Durante a verificação, foram identificados 113 problemas de segurança.

Neste momento, já está disponível um relatório (PDF, 156 páginas) com os resultados da primeira fase da auditoria, cobrindo as utilidades mais importantes do conjunto uutils. Na primeira fase, realizada de dezembro de 2025 a janeiro de 2026, foram identificadas 73 vulnerabilidades, das quais 7 foram classificadas como críticas, 11 como perigosas, 29 como de médio risco e 26 como não perigosas.

A segunda fase da auditoria foi realizada de fevereiro a março e cobriu utilidades secundárias que não foram verificadas na primeira fase. Na segunda fase, foram encontradas 40 vulnerabilidades, cuja gravidade ainda não foi detalhada (o relatório está previsto para ser publicado posteriormente). As informações sobre todos os problemas identificados já foram enviadas aos desenvolvedores do uutils e grande parte das vulnerabilidades foi corrigida nas versões do uutils 0.5-0.8 sem ampla divulgação e anotação das ligações das correções com a eliminação das vulnerabilidades.

O pacote rust-coreutils foi incluído por padrão no lançamento de outono do Ubuntu 25.10, mas, devido aos problemas identificados durante a auditoria na versão LTS do Ubuntu 26.04, as utilidades cp, mv e rm do conjunto GNU Coreutils foram restauradas. É notável que, até 22 de abril, essas utilidades ainda apresentam 8 estados de corrida conhecidos não corrigidos. As outras utilidades são oriundas do lançamento do rust-coreutils 0.8.0. No Ubuntu 26.10, os desenvolvedores pretendem fazer a transição completa para o rust-coreutils.

As vulnerabilidades nas utilidades do sistema são perigosas porque são usadas em scripts executados com privilégios de root. Por exemplo, a vulnerabilidade corrigida na versão uutils coreutils 0.3.0 na ferramenta rm poderia ser explorada durante a execução diária do script cron /etc/cron.daily/apport, que é executado com privilégios de root e remove recursivamente o conteúdo do diretório /var/crash, acessível para gravação por todos os usuários do sistema.

Entre as vulnerabilidades marcadas no primeiro relatório como críticas:

  • Uma vulnerabilidade na utilidade chroot, causada pelo processamento da opção "--userspec" após a chamada chroot(), mas antes da revogação de privilégios. Em sistemas com glibc, a resolução de nomes através da função getpwnam() leva à leitura do arquivo /etc/nsswitch.conf, utilizado no NSS (Name Service Switch), e ao carregamento dinâmico das bibliotecas especificadas nele com módulos NSS (libnss_*.so.2). Como a chamada chroot() é executada antes do processamento do NSS, o arquivo /etc/nsswitch.conf é carregado em relação à nova raiz, mas as bibliotecas NSS são carregadas antes da revogação de privilégios. Se o usuário tiver acesso de gravação à nova raiz, pode substituir suas bibliotecas NSS e conseguir executar código com privilégios de root.
  • Alteração das permissões de um arquivo após falha na criação de um canal nomeado (FIFO) pela utilidade mkfifo — se um arquivo existente for especificado como argumento, a mkfifo retornará um erro, mas não encerrará o processo normalmente; em vez disso, chamará set_permissions() e mudará as permissões do arquivo existente. Com um umask de 022, a vulnerabilidade permite alterar as permissões do arquivo para 644 (rw-r--r--) e obter acesso a arquivos que não tinham permissão de leitura.
  • Contorno das restrições "--preserve-root" na utilidade chmod, que proíbe operações recursivas em relação à raiz do sistema de arquivos. A vulnerabilidade (CVE-2026-35338) é causada pelo fato de que no código se verifica apenas a correspondência exata do caminho com "/" e não se realiza a canonização do caminho do arquivo. Para contornar a verificação, basta usar um caminho no formato "../" ou um link simbólico para a raiz. A vulnerabilidade é perigosa pois, se for possível inserir seu próprio caminho em um script do sistema que chama o comando chmod, é possível provocar uma alteração recursiva de permissões para todos os arquivos no sistema de arquivos.
  • Na utilidade rm, permitia-se o processamento de quaisquer abreviações da opção "--no-preserve-root" ("--n", "--no", "--no-p", "--no-pres" etc.) para desabilitar a proteção contra a execução de operações recursivas na raiz (por exemplo, pode-se especificar "rm -rf --n /" e deletar acidentalmente todos os dados). Nas GNU Coreutils, essas opções abreviadas são proibidas.
  • Contorno das restrições "--preserve-root" na utilidade rm, que proíbe operações recursivas em relação à raiz do sistema de arquivos, através da substituição de um link simbólico para "/".
  • Ausência de proteção adequada contra a especificação de diretórios que começam com um ponto. Por exemplo, ao executar "rm -rf .", a utilidade mostrará um erro, mas ao indicar "rm -rf ./" ou "rm -rf .///", deletará silenciosamente o diretório atual.
  • Um erro no código de análise dos argumentos da ferramenta kill permite enviar um sinal para todos os processos no sistema ao especificar o identificador do processo "-1" (kill -1).

Além disso, a maior parte das vulnerabilidades pertence à classe TOCTOU (Time-Of-Check-To-Time-Of-Use), que implica uma condição de corrida que permite alterar os dados no momento após a verificação da validade das informações, mas antes da execução da operação sobre elas, por exemplo, substituindo um arquivo por um link simbólico entre a conclusão da verificação e o início da execução da operação. No contexto do uso das ferramentas cp e mv em scripts do sistema executados com privilégios de root, essas vulnerabilidades permitem copiar ou substituir arquivos arbitrários.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster