← back
CVE-2019-16278criticalunder attackCWE-22

CVE-2019-16278

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 99%
from disclosure to weapon1 days
Published on NVDOct 14
1st PoC+1d
metasploit+6d
CISA KEV+1851d
exploitation probability
99%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
36 public exploit(s)
Action required by CISAfederal deadline: 2024-11-28

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

Affected
Todas as versões até e incluindo 1.9.6 (nhttpd through 1.9.6, conforme descrição oficial da CVE).

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.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Directory Traversal in the function http_verify in nostromo nhttpd through 1.9.6 allows an attacker to achieve remote code execution via a crafted HTTP request.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a
public PoCs found36 VexDay Proof
exploitdbVexDay Proofwww.exploit-db.com/exploits/47837exploitdbVexDay Proofwww.exploit-db.com/exploits/47573githubgithub.com/jas502n/CVE-2019-1627870githubgithub.com/imjdl/CVE-2019-16278-PoC9githubgithub.com/AnubisSec/CVE-2019-162788githubgithub.com/aN0mad/CVE-2019-16278-Nostromo_1.9.6-RCE6githubgithub.com/andknownmaly/CVE-2019-162783githubgithub.com/ianxtianxt/CVE-2019-162783githubgithub.com/darkerego/Nostromo_Python31githubgithub.com/cancela24/CVE-2019-16278-Nostromo-1.9.6-RCE1githubgithub.com/Kr0ff/cve-2019-162781githubgithub.com/FredBrave/CVE-2019-16278-Nostromo-1.9.6-RCE0githubgithub.com/CybermonkX/CVE-2019-16278_Nostromo-1.9.6---Remote-Code-Execution0githubgithub.com/NHPT/CVE-2019-162780githubgithub.com/keshiba/cve-2019-162780githubgithub.com/h3x0v3rl0rd/CVE-2019-162780githubgithub.com/alexander-fernandes/CVE-2019-162780vulncheckvulncheck.com/xdb/8f6e4ab2c356unverifiedcve_referencepacketstormsecurity.com/files/155045/Nostromo-1.9.6-Directory-Traversal-Remote-Command-Execution.htmlunverifiedvulncheckvulncheck.com/xdb/2862a9ede8b3unverifiedvulncheckvulncheck.com/xdb/c170756630e3unverifiedvulncheckvulncheck.com/xdb/ceecea9075daunverifiedvulncheckvulncheck.com/xdb/b68c72b934faunverifiedvulncheckvulncheck.com/xdb/19dcd19fffafunverifiedvulncheckvulncheck.com/xdb/5bbc5ed5a337unverifiedvulncheckvulncheck.com/xdb/8233a377e146unverifiedvulncheckvulncheck.com/xdb/df3d55059f95unverifiedvulncheckvulncheck.com/xdb/6c38a06d6d2aunverifiedvulncheckvulncheck.com/xdb/7d72baf3d3a6unverifiedvulncheckvulncheck.com/xdb/2c96c551dfdbunverifiedvulncheckvulncheck.com/xdb/9c7a1af9a272unverifiedvulncheckvulncheck.com/xdb/42989a8efb98unverifiedcve_referencepacketstormsecurity.com/files/155802/nostromo-1.9.6-Remote-Code-Execution.htmlunverifiedvulncheckvulncheck.com/xdb/27caa8f2e1edunverifiedvulncheckvulncheck.com/xdb/9c48b3d900f1unverifiedvulncheckvulncheck.com/xdb/dd3c9e908dd7unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.