Falhas do tipo CWE-535
2 resultadosExposição de informações sensíveis em mensagens de erro do shell
Aplicações que executam comandos do sistema operacional sem tratar adequadamente suas mensagens de erro expõem informações sensíveis (caminhos de arquivo, estrutura interna, credenciais) diretamente ao usuário. O erro ocorre quando saídas brutas do stderr do shell são retornadas sem filtro ou sanitização, permitindo que um atacante mapeie a infraestrutura ou identifique pontos fracos.
Um aplicativo web executa um comando `ping` fornecido pelo usuário para diagnosticar conectividade. Se o comando falhar, a mensagem de erro bruta do shell (ex: '/usr/bin/ping: comando não encontrado em /app/bin:/root/.local/bin') revela a estrutura de diretórios e configuração de PATH do servidor. Um atacante usa isso para inferir o sistema operacional, versão de ferramentas e caminhos para explorar vulnerabilidades posteriores.
Capture stderr e stdout da execução de comandos, então retorne apenas mensagens de erro genéricas ao usuário final (ex: 'Falha na execução do comando'). Registre os erros originais em logs internos protegidos. Alternativa melhor: evite executar comandos shell com entrada do usuário — use APIs de biblioteca quando possível, ou valide e escape rigorosamente as entradas antes da execução.