CVE-2019-3929
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha de injeção de comando no endpoint HTTP file_transfer.cgi, presente em pelo menos onze produtos de apresentação sem fio (Crestron AirMedia, Barco wePresent, Extron ShareLink, Teq AV IT WIPS710, SHARP PN-L703WA, Optoma WPS-Pro, Blackbox HD WPS e InFocus LiteShow3/4) que compartilham a mesma base de código da AWIND. Um atacante remoto e não autenticado executa comandos como root sem nenhuma pré-condição de rede além de acesso HTTP/HTTPS ao dispositivo, o que justifica o CVSS 9.8 e a presença confirmada no catálogo KEV da CISA. É a vulnerabilidade mais grave de um lote de seis falhas relacionadas descobertas pela mesma pesquisa (CVE-2019-3925 a 3931).
Detalhamento técnico
O endpoint /cgi-bin/file_transfer.cgi aceita, sem autenticação, um parâmetro 'dir' dentro de uma requisição file_transfer=new. Esse parâmetro é concatenado a uma chamada de shell no lado do dispositivo sem sanitização adequada dos metacaracteres de shell. O PoC público demonstra que, usando aspas simples e um delimitador da própria lógica do parser da aplicação (a string 'Pa_Note', usada internamente para separar campos), é possível fechar o contexto esperado do valor de 'dir' e injetar comandos arbitrários que são executados pelo processo CGI, que corre com privilégios de root.
O catálogo KEV da CISA classifica a falha como CWE-79 (Cross-Site Scripting), mas isso é uma classificação incorreta do catálogo: tanto a descrição oficial quanto o advisory técnico da Tenable e o PoC do Exploit-DB descrevem execução de comandos de sistema operacional, portanto o CWE correto é injeção de comando OS (CWE-78).
A mesma família de dispositivos apresenta uma vulnerabilidade relacionada e adjacente, CVE-2019-3930, um stack buffer overflow na função PARSERtoCHAR de libAwCgi.so, disparado pelo mesmo endpoint file_transfer.cgi quando o input excede 0x100 bytes — evidência de que o parser HTTP compartilhado entre esses fabricantes tem baixa qualidade de validação de entrada de forma geral. Vale notar também que uma falha de injeção de comando anterior no mesmo componente (CVE-2017-16709) recebeu um patch cujo filtro foi insuficiente, dando origem a CVE-2019-3931 (upload de arquivo autenticado que ainda permite bypass do filtro de comandos), o que sugere um histórico de correções incompletas nesse código base.
Como é explorada
O vetor é uma única requisição HTTP POST para o endpoint file_transfer.cgi, sem necessidade de autenticação, sessão prévia ou qualquer configuração não padrão do dispositivo — basta acesso de rede à interface web/HTTP(S) do equipamento. O PoC público envia o parâmetro 'dir' contendo uma sequência que fecha o contexto esperado pelo shell e injeta comandos adicionais; o exemplo documentado abre um telnetd em porta arbitrária com shell root, dando ao atacante um shell interativo completo após a injeção.
A complexidade de exploração é baixa: existe módulo Metasploit, template Nuclei e exploit publicado no Exploit-DB (autor Jacob Baines), o que reduz a exploração a uma tarefa automatizável. Isso, combinado com o EPSS próximo de 1.0 e a inclusão no catálogo KEV da CISA (que exige evidência de exploração real, não apenas teórica), indica exploração ativa confirmada em ambiente real — não é um cenário hipotético.
O resultado final da exploração é execução de comando arbitrário como root no firmware do dispositivo, o que dá controle total sobre a unidade (compromisso de confidencialidade, integridade e disponibilidade), incluindo pivotamento para a rede local onde o equipamento de apresentação está conectado — tipicamente redes corporativas de salas de reunião com acesso a switches, outras estações e, em muitos casos, à rede corporativa mais ampla.
Versões
Como se proteger
Para o Barco wePresent WiPG-1600W, a correção está confirmada em firmware 2.4.1.19 ou superior. Para os demais produtos afetados (Crestron AM-100/AM-101, Barco wePresent WiPG-1000P, Extron ShareLink 200/250, Teq AV IT WIPS710, SHARP PN-L703WA, Optoma WPS-Pro, Blackbox HD WPS, InFocus LiteShow3/LiteShow4), as fontes consultadas não confirmam uma versão de firmware corrigida específica — o registro no KEV da CISA apenas instrui 'aplicar atualizações conforme instruções do fornecedor', sem detalhar versão. Antes de considerar qualquer unidade corrigida, confirme a versão de firmware exigida diretamente com o fabricante daquele produto específico, já que cada fornecedor distribui patches separadamente mesmo compartilhando o código base vulnerável.
Como paliativo real quando a atualização não é viável de imediato: isolar a interface de administração/HTTP do dispositivo em VLAN ou segmento de rede sem acesso direto de estações não confiáveis, bloquear acesso à porta HTTP/HTTPS do equipamento a partir de qualquer origem que não seja estritamente necessária, e desabilitar o endpoint file_transfer.cgi via controle de acesso na borda de rede (proxy reverso ou firewall de aplicação) caso o dispositivo não ofereça mecanismo próprio de restrição desse endpoint. Nenhum desses controles remove a vulnerabilidade — apenas reduz a superfície de exposição até a atualização de firmware ser aplicada.
Mito a descartar: autenticação na interface web do dispositivo não mitiga esta falha específica, porque o endpoint file_transfer.cgi é explorável sem autenticação prévia — trocar a senha de admin do painel não fecha essa porta.
Como detectar
Em logs de acesso HTTP do dispositivo (quando disponíveis), procurar requisições POST para /cgi-bin/file_transfer.cgi com o parâmetro file_transfer=new cujo campo 'dir' contenha aspas simples, o delimitador de string 'Pa_Note' ou sequências típicas de encadeamento de shell (;, |, &&, backticks). O PoC público usa esse padrão especificamente, então sua presença em requisições reais é um indicador forte de tentativa de exploração.
No próprio dispositivo, sinais de comprometimento incluem processos telnetd ou shells abertos em portas não padrão que não fazem parte da configuração original do firmware, e conexões de rede de saída ou shells reversos não esperados a partir do IP do equipamento de apresentação. Não há assinatura de tráfego oficial publicada pelo fornecedor; times de SOC dependem de regras Nuclei/Metasploit públicas ou de análise manual do payload do parâmetro 'dir' para detecção confiável.