← back
CVE-2010-5330criticalunder attackCWE-77

CVE-2010-5330

90Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 9.8epss 35%
from disclosure to weapon
Published on NVDJun 11
CISA KEV+1039d
exploitation probability
35%top 2% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2022-05-06

Apply updates per vendor instructions.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
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).
Fixed in
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.

How to protect

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.

How to detect

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.

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.
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
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.