← volver
CVE-2010-5330criticalbajo ataqueCWE-77

CVE-2010-5330

90Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.

ssvc Actcvss 9.8epss 35%
de la publicación al arma
Publicada en NVD11 jun
CISA KEV+1039d
probabilidad de explotación
35%top 2% de las CVE
explotación observada
CISA + VulnCheck
1 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-05-06

Apply updates per vendor instructions.

Resumen

Injeção de comando via GET no CGI stainfo.cgi ("Show AP info") de dispositivos Ubiquiti com firmware AirOS antigo — o parâmetro ifname é concatenado sem sanitização em um comando de shell no lado do dispositivo. A CVE foi cadastrada só em 2019 mas a falha e o exploit público datam de 2010; está no catálogo KEV da CISA por exploração confirmada em campo, apesar de o firmware corrigido existir há mais de uma década.

Detalle técnico

A falha é um CWE-77 (Command Injection) clássico: o script stainfo.cgi, acionado pela função "Show AP info" na seção "Extra Informations" do painel web do AirOS, recebe o parâmetro ifname via GET e o insere diretamente numa chamada de sistema no dispositivo (provavelmente para consultar informações da interface de rede, tipo iwconfig/ifconfig). Não há validação de whitelist de nomes de interface nem escaping de metacaracteres de shell.

O atacante controla o valor de ifname e pode anexar metacaracteres (`;`, `|`, `&&` etc.) para encadear comandos arbitrários que são executados com os privilégios do processo web do dispositivo — normalmente root em appliances embarcados desse tipo. O PoC público (exploit-db 14146) demonstra a técnica usando `ifname=eth0;cat%20/tmp/system.cfg|grep%20users` para ler o arquivo de configuração /tmp/system.cfg, que contém usuários e chave de wireless em texto claro — ou seja, a exploração pode ir de leitura de credenciais até execução completa de comando.

O relato original do autor da PoC (emgent, disclosure responsável em 2010) descreve que o acesso foi obtido "com conta não privilegiada, tipo read-only" — ou seja, o cenário demonstrado exige autenticação no painel web, mesmo que com um perfil de baixo privilégio. Isso é relevante porque o vetor CVSS 3.1 publicado (PR:N — sem privilégio necessário) não reflete essa pré-condição documentada na fonte primária do exploit; pode haver variação entre modelos/firmwares quanto à exigência de login para acessar o CGI.

Cómo se explota

O vetor é uma requisição HTTP GET simples para stainfo.cgi com o parâmetro ifname manipulado, disparada contra a interface de gerência web do dispositivo (porta HTTP/HTTPS de administração do AirOS). Não há necessidade de interação do usuário nem de condições de rede complexas — só alcance de rede até a interface administrativa, que em muitos deployments de ISP/WISP fica exposta na WAN ou em segmentos de gestão mal isolados.

A pré-condição real, segundo a PoC original, é possuir uma conta válida no painel — mesmo que de leitura — antes de disparar o comando via o CGI vulnerável. Em ambientes onde a conta padrão/fraca (credenciais default, sem troca) está em uso, isso reduz a barreira a quase zero, o que explica por que a falha continua sendo explorada ativamente mais de dez anos depois e motivou a inclusão no catálogo KEV da CISA (adicionada em 2022, com exigência de correção em 15/05/2022 para agências federais dos EUA).

O resultado final é execução de comando arbitrário no contexto do processo de administração web do dispositivo, tipicamente com privilégios elevados no sistema embarcado — suficiente para exfiltrar credenciais (como a chave wireless armazenada em /tmp/system.cfg), pivotar na rede interna atrás do equipamento, ou reconfigurar/derrubar o link de rádio.

Versiones

Afectadas
Firmwares AirOS anteriores aos corrigidos, por linha de produto: versões 802.11 ISP anteriores a v4.0.1; linha AirMax ISP anteriores a v5.3.5; firmware AirSync anterior a v5.4.5. Exemplo citado: Nanostation5 (AirOS), com o autor da PoC original indicando "all firmwares" da linha AirOS vulneráveis à época da descoberta (2010).
Corregidas en
v4.0.1 para produtos ISP 802.11; v5.3.5 para linha AirMax ISP; v5.4.5 para firmware AirSync, conforme publicado pelo fornecedor.

Cómo protegerse

O fornecedor publicou firmware corrigido por linha de produto: v4.0.1 para produtos ISP baseados em 802.11, v5.3.5 para linha AirMax ISP, e v5.4.5 para firmware AirSync. Atualizar para essas versões (ou posteriores da mesma linha) remove a injeção no stainfo.cgi. Como a vulnerabilidade tem mais de dez anos, qualquer dispositivo AirOS ainda rodando abaixo dessas versões deve ser tratado como comprometível e priorizado para atualização imediata.

Se a atualização não for viável de imediato, restrinja o acesso à interface de administração web (HTTP/HTTPS) exclusivamente a redes de gerência confiáveis — nunca exposta à WAN/Internet — e desative contas de acesso não essenciais, já que a exploração documentada partiu de uma conta autenticada de baixo privilégio. Essas medidas reduzem a superfície mas não corrigem a falha de sanitização; não substituem a atualização de firmware.

Troca de senha padrão isoladamente não mitiga o risco, pois qualquer conta válida — inclusive de perfil restrito — basta para acionar o CGI vulnerável segundo a PoC original; o controle compensatório real é isolamento de rede da interface de gestão combinado com a atualização de firmware assim que possível.

Cómo detectar

Procure em logs de acesso web do dispositivo (ou de proxy/WAF na frente dele) requisições GET para /stainfo.cgi cujo parâmetro ifname contenha metacaracteres de shell — ponto e vírgula, pipe, `&&`, backticks ou `$()` — em vez de um nome de interface legítimo (eth0, ath0, wlan0 etc.). A presença de comandos como `cat`, `grep`, `wget`, `nc` ou caminhos como /tmp/system.cfg dentro da query string é um indicador forte de tentativa de exploração, já que reproduz o padrão do PoC público.

Não há assinatura oficial publicada pelo fornecedor ou por CERTs para essa CVE especificamente; a detecção depende de inspeção manual ou de regras próprias de IDS/WAF voltadas a padrões de command injection em parâmetros de CGI, e da revisão de logs históricos já que a falha e o exploit circulam publicamente desde 2010.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
On certain Ubiquiti devices, Command Injection exists via a GET request to stainfo.cgi (aka Show AP info) because the ifname variable is not sanitized, as demonstrated by shell metacharacters. The fixed version is v4.0.1 for 802.11 ISP products, v5.3.5 for AirMax ISP products, and v5.4.5 for AirSync firmware. For example, Nanostation5 (Air OS) is affected.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.