CVE-2019-16278
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Summary
Falha de directory traversal (CWE-22) na função http_verify() do servidor web nostromo nhttpd, presente em todas as versões até a 1.9.6, que permite a um atacante não autenticado escapar da raiz web e acabar executando comandos arbitrários no servidor. Está no catálogo KEV da CISA por exploração confirmada em campo, tem módulo Metasploit público e PoCs amplamente disponíveis — é uma das CVEs mais triviais de explorar da lista, sem pré-condição de autenticação ou configuração especial.
Technical detail
O nhttpd é um servidor HTTP minimalista (parte da suíte nostromo), historicamente usado em ambientes embarcados e appliances por seu baixo consumo de recursos. A função http_verify() é responsável por validar caminhos de requisição antes de repassá-los ao tratamento de arquivos/CGI, mas falha em normalizar sequências de traversal (ex.: variações de '../' com codificação/mistura de caracteres que escapam do filtro simplista aplicado). O resultado é que uma requisição HTTP cuidadosamente montada consegue sair da raiz do documento e apontar para caminhos arbitrários do sistema de arquivos.
How it’s exploited
O vetor é uma única requisição HTTP contra a porta onde o nhttpd escuta — não há autenticação, interação do usuário nem configuração não padrão exigida (AV:N/PR:N/UI:N no CVSS refletem isso). Análises públicas e o módulo Metasploit associado descrevem a exploração como o encadeamento de traversal com a invocação de um binário do sistema (como um interpretador de shell) através do mecanismo CGI do próprio servidor, fazendo o nhttpd executar esse binário como se fosse um script CGI e repassando comandos via parâmetros da requisição. O impacto final é execução de código com o privilégio do processo nhttpd — se o serviço rodar como root (comum em instalações mal configuradas de appliances), é comprometimento total da máquina.
Versions
How to protect
Não localizamos, nas fontes consultadas, um número de versão oficial do fornecedor que corrija a falha — o projeto nostromo aparenta estar sem releases ativos desde a 1.9.6, e a própria entrada da CISA no KEV instrui 'aplicar mitigações conforme instruções do fornecedor ou descontinuar o uso do produto se mitigações não estiverem disponíveis', o que sugere ausência de patch oficial upstream. Trate qualquer instância de nhttpd/nostromo exposta à internet como alto risco.
How to detect
Procure em logs de acesso do nhttpd requisições com sequências de traversal atípicas (variações de '../' com codificação incomum) direcionadas a caminhos que tentam alcançar binários do sistema fora da raiz web, e correlacione com respostas HTTP 200 inesperadas para esses caminhos. A execução de comandos deixa rastro indireto: processos filhos anômalos do processo nhttpd, conexões de saída não usuais originadas do host do servidor web, ou arquivos/binários novos gravados por esse processo. Não há assinatura única confiável — os PoCs e o módulo Metasploit variam a técnica de bypass do filtro de traversal, então regras baseadas apenas em '../' literal tendem a falhar.