CVE-2005-2773
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Múltiplos scripts CGI (.ovpl) do HP OpenView Network Node Manager 6.2 a 7.50 concatenam parâmetros de entrada não sanitizados numa chamada de sistema, permitindo injeção de comandos de shell sem autenticação. É pré-2000 em termos de maturidade de código, mas voltou à relevância prática porque a CISA a colocou no catálogo KEV em 2022, evidenciando exploração ativa contra instalações legadas ainda em produção quase duas décadas depois da publicação.
Detalhamento técnico
A falha é uma injeção de comandos de SO (CWE-78) nos scripts connectedNodes.ovpl, cdpView.ovpl, freeIPaddrs.ovpl e ecscmg.ovpl, expostos via CGI no diretório OvCgi do servidor web embutido do NNM. O parâmetro 'node' (confirmado em connectedNodes.ovpl) é concatenado a uma string que monta um comando de sistema, executado sem validação de metacaracteres de shell. Pesquisadores da Portcullis Security identificaram que o caractere pipe '|' é suficiente para encadear um comando arbitrário ao comando original.
O advisory da Portcullis descreve que os caracteres '' causam erro no script, o que impede redirecionamento de entrada/saída direto — uma limitação parcial, não uma mitigação real, já que o pipe já basta para execução de comandos arbitrários.
A execução ocorre com o privilégio do usuário do servidor web (confirmado como a conta 'bin' em Solaris 8 nos testes da Portcullis). A execução é 'blind': o CGI não retorna a saída do comando ao atacante, então a confirmação de sucesso depende de efeitos colaterais observáveis, como abrir uma porta de rede.
A descrição oficial do fornecedor cita quatro scripts vulneráveis pelo mesmo padrão, mas a confirmação técnica detalhada disponível publicamente (Portcullis) cobre especificamente connectedNodes.ovpl; presume-se mecanismo análogo nos outros três, sem detalhamento de parâmetro exato em cada um nas fontes consultadas.
Como é explorada
O vetor é uma requisição HTTP simples (GET) contra o CGI publicado em porta de gerenciamento do NNM (ambiente de teste da Portcullis usou porta 3443), sem necessidade de autenticação, sessão ou configuração não padrão — a interface OvCgi é exposta por padrão para consultas de topologia de rede. O atacante só precisa de acesso de rede ao serviço HTTP/HTTPS do NNM.
Como a execução é blind, a exploração prática documentada envolve encadear comandos via pipe para escrever e executar um script que vincula um shell a uma porta TCP, produzindo um shell remoto interativo — demonstrado pela Portcullis como prova de conceito funcional em Solaris 8. Isso eleva o impacto de 'execução de comando único sem retorno' para 'shell interativo completo', dado que scripts podem ser encadeados livremente.
A presença no catálogo KEV da CISA (adicionada em 2022, com prazo de correção 15/04/2022) confirma exploração observada em ambientes reais, tipicamente contra instalações legadas de NNM que permanecem expostas ou acessíveis em segmentos internos/DMZ sem isolamento adequado, muito depois do fim de vida do produto original.
Versões
Como se proteger
O fornecedor não detalha, nas fontes consultadas, um número de build específico que corrija a falha — o produto HP OpenView Network Node Manager está descontinuado há anos e sucedido pela linha Network Node Manager i (NNMi), sob outra arquitetura. Não foi possível confirmar nas fontes apuradas uma versão de patch pontual para o ramo 6.2–7.50; trate qualquer instalação nessa faixa como sem correção oficial disponível de forma confiável e priorize migração para uma plataforma suportada.
Como controle compensatório real: restringir o acesso de rede ao diretório /OvCgi/ e às portas de gerência do NNM (firewall/ACL, segmentação, VPN de administração), remover ou desabilitar os scripts connectedNodes.ovpl, cdpView.ovpl, freeIPaddrs.ovpl e ecscmg.ovpl se não forem usados operacionalmente, e executar o processo do servidor web com o menor privilégio possível para limitar o raio de dano de um comando injetado.
Não funciona como mitigação: confiar que a ausência de saída de comando (execução 'blind') impede exploração — a Portcullis demonstrou shell interativo completo mesmo sem eco de saída. Também não é suficiente filtrar apenas '' , já que o pipe '|' basta para encadear comandos.
Como detectar
Procure em logs de acesso do servidor web (Apache/servidor embutido do NNM) por requisições aos endpoints /OvCgi/connectedNodes.ovpl, /OvCgi/cdpView.ovpl, /OvCgi/freeIPaddrs.ovpl e /OvCgi/ecscmg.ovpl contendo metacaracteres de shell no parâmetro 'node' (ou parâmetros equivalentes), especialmente o caractere pipe '|', ponto e vírgula ou crase.
Como a exploração é tipicamente blind, não há retorno de comando no próprio tráfego HTTP — o sinal mais confiável costuma ser conexões de saída inesperadas originadas do host NNM logo após tais requisições (indicativo de shell vinculado a uma porta), o que deve ser correlacionado com logs de rede/firewall do host.