CWE-426
Caminho de Busca Não Confiável
Sobre
O produto busca recursos críticos usando um caminho de busca fornecido externamente, que pode apontar para recursos que não estão sob o controle direto do produto.
Isso pode permitir que atacantes executem seus próprios programas, acessem arquivos de dados não autorizados ou modifiquem configurações de maneiras inesperadas. Se o produto usar um caminho de busca para localizar recursos críticos, como programas, então um atacante poderia modificar esse caminho de busca para apontar para um programa malicioso, que o produto-alvo então executaria. O problema se estende a qualquer tipo de recurso crítico no qual o produto confie. Algumas das variantes mais comuns de caminho de busca não confiável são: - Em vários sistemas baseados em UNIX e Linux, a variável de ambiente PATH pode ser consultada para localizar programas executáveis, e a LD_PRELOAD pode ser usada para localizar uma biblioteca separada. - Em vários sistemas baseados em Microsoft, a variável de ambiente PATH é consultada para localizar uma DLL, caso a DLL não seja encontrada em outros caminhos que apareçam mais cedo na ordem de busca.
Consequências comuns
- Integridade, Confidencialidade, Disponibilidade, Controle de Acesso → Obter Privilégios ou Assumir Identidade, Executar Código ou Comandos Não Autorizados
- Disponibilidade → DoS: Travamento, Encerramento ou Reinicialização
- Confidencialidade → Ler Arquivos ou Diretórios
Mitigações
- Arquitetura e Design, Implementação: Fixe no código (hard-code) o caminho de busca para um conjunto de valores reconhecidamente seguros (como diretórios do sistema), ou permita que sejam especificados apenas pelo administrador em um arquivo de configuração. Não permita que essas configurações sejam modificadas por uma parte externa. Tenha cuidado para evitar fraquezas relacionadas, como o CWE-426
- Implementação: Ao invocar outros programas, especifique-os usando nomes de caminho totalmente qualificados. Embora essa seja uma abordagem eficaz, código que usa nomes de caminho totalmente qualificados pode não ser portável para outros sistemas que não usem os mesmos nomes de caminho. A portabilidade pode ser melhorada localizando os caminhos totalmente qualificados em um local centralizado e fac
- Implementação: Remova ou restrinja todas as configurações de ambiente antes de invocar outros programas. Isso inclui a variável de ambiente PATH, a LD_LIBRARY_PATH e outras configurações que identificam a localização de bibliotecas de código, além de quaisquer caminhos de busca específicos da aplicação.
- Implementação: Verifique seu caminho de busca antes de usá-lo e remova quaisquer elementos que sejam provavelmente inseguros, como o diretório de trabalho atual ou um diretório de arquivos temporários.
- Implementação: Use outras funções que exijam caminhos explícitos. Fazer uso de qualquer uma das outras funções prontamente disponíveis que exigem caminhos explícitos é uma forma segura de evitar esse problema. Por exemplo, system() em C não exige um caminho completo, pois o shell pode se encarregar disso, enquanto execl() e execv() exigem um caminho completo.
CVEs com esta fraqueza
Perguntas frequentes
O que é CWE-426?
O produto busca recursos críticos usando um caminho de busca fornecido externamente, que pode apontar para recursos que não estão sob o controle direto do produto. Isso pode permitir que atacantes executem seus próprios programas, acessem arquivos de dados não autorizados ou modifiquem configurações de maneiras inesperadas.
Qual a probabilidade de CWE-426 ser explorada?
A MITRE classifica a probabilidade de exploração de CWE-426 como high.
Quais plataformas CWE-426 afeta?
CWE-426 já foi observada em: Not OS-Specific.
Quantas CVEs a Rainforest acompanha para CWE-426?
O Rainforest Labs acompanha atualmente 1 CVEs publicadas associadas a CWE-426. Elas estão listadas nesta página.
Potencialize sua estratégia de segurança com a Rainforest
Descubra vulnerabilidades cedo, priorize ameaças críticas e proteja o que realmente importa. A Rainforest simplifica suas operações de segurança, economizando tempo e reduzindo custos, para você focar no que move o seu negócio.
