← voltar
CVE-2010-5330criticalsob ataqueCWE-77

CVE-2010-5330

90Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 9.8epss 35%
da publicação à arma
Publicada no NVD11 de jun.
CISA KEV+1039d
probabilidade de exploração
35%top 2% das CVEs
exploração observada
simCISA + VulnCheck
1 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-06

Apply updates per vendor instructions.

Resumo

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.

Detalhamento 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.

Como é explorada

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.

Versões

Afetadas
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).
Corrigidas em
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.

Como se proteger

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.

Como 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.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
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
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.