CVE-2022-29303
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
Apply updates per vendor instructions or discontinue use of the product if updates are unavailable.
Summary
Vulnerabilidade de command injection (CWE-78) no script conf_mail.php do painel web de gerenciamento remoto SolarView Compact, versão 6.00, usado para monitoramento de sistemas fotovoltaicos. Está no catálogo KEV da CISA com exploração confirmada em ambiente real, EPSS acima de 0,97 (quase certeza estatística de exploração ativa) e PoC pública disponível — a combinação de acesso não autenticado, exposição direta à internet (típica de dispositivos de monitoramento solar) e trivialidade de exploração justifica o CVSS 9.8.
Technical detail
O ponto de injeção está na funcionalidade de teste de envio de e-mail do painel web (console 'send test mail'), acessada via conf_mail.php. Segundo a nota da CISA no catálogo KEV, a falha decorre de validação inadequada de valores de entrada nessa tela — um ou mais campos do formulário de configuração/teste de e-mail são passados sem sanitização para uma chamada de sistema no backend PHP, permitindo que o atacante injete comandos de shell arbitrários que são executados com os privilégios do processo web (CWE-78, OS Command Injection).
Não há autenticação exigida para acionar o endpoint, o que elimina a barreira principal que normalmente reduziria o risco de falhas desse tipo em painéis administrativos. O atacante controla o conteúdo do(s) parâmetro(s) do formulário de teste de e-mail; não temos confirmação pública do nome exato do(s) parâmetro(s) vulnerável(is) nas fontes analisadas, então não reproduzimos aqui para evitar erro.
O resultado prático é execução de código no sistema operacional subjacente do dispositivo — tipicamente um SoC embarcado que roda o firmware SolarView, com acesso à rede da instalação solar e, em muitos casos, à rede corporativa/OT à qual o inversor está conectado.
How it’s exploited
O vetor é uma requisição HTTP não autenticada ao endpoint conf_mail.php exposto pelo servidor web do dispositivo. Não há pré-condição de configuração não padrão conhecida nem necessidade de sessão válida — é isso que torna o CVSS 9.8 realista e não apenas teórico, ao contrário de muitas 'críticas' que exigem acesso já autenticado.
A exploração é de baixa complexidade: existe template Nuclei público e PoC divulgada (incluindo capturas de tela documentando a injeção, conforme material compartilhado por pesquisadores), o que reduz a barreira técnica a praticamente zero para quem sabe onde procurar dispositivos SolarView expostos via scanners como Shodan/Censys. A CISA confirma exploração ativa em campo (entrada no catálogo KEV desde julho/2023), consistente com o EPSS extremamente alto.
O resultado final típico é shell remoto no dispositivo de monitoramento solar, que serve de pivô para a rede local da instalação — relevante para infraestrutura crítica de energia distribuída, onde esses gateways frequentemente ficam expostos diretamente à internet sem segmentação.
Versions
How to protect
O fabricante (Contec) deve ser consultado para a versão corrigida; as fontes disponíveis não confirmam um número de versão de correção específico — apenas que a versão 6.00 é a afetada segundo a descrição oficial. A recomendação da CISA no KEV é genérica: 'aplicar atualizações conforme instruções do fornecedor ou descontinuar o uso do produto se não houver atualização disponível'. Não temos base para citar um número de patch sem risco de erro.
Como paliativo real quando não há atualização aplicável: remover o acesso do painel web SolarView à internet pública, restringindo-o a rede interna isolada (VLAN dedicada a OT/monitoramento) e a uma lista de IPs administrativos via firewall/ACL; isso não corrige a falha, mas elimina o vetor de exploração remota não autenticada que é o cenário observado em exploração ativa. Colocar o dispositivo atrás de VPN de gestão também reduz a superfície, com custo operacional baixo.
O que NÃO mitiga: expor o painel apenas com autenticação básica de rede sem corrigir o endpoint, já que a falha em si independe de sessão autenticada no aplicativo — se o atacante alcança conf_mail.php na rede, a injeção ocorre independentemente de controles de camada de aplicação como CAPTCHA ou rate limiting simples.
How to detect
Em logs do servidor web, procurar requisições para conf_mail.php contendo metacaracteres de shell (;, |, &, $(), backticks, >, <) nos parâmetros do formulário de configuração/teste de e-mail, especialmente originadas de IPs externos sem sessão administrativa prévia. Presença de processos filhos inesperados gerados pelo processo do servidor web (ex.: sh, wget, curl, busybox) no host do dispositivo é forte indicador de exploração bem-sucedida.
Não há assinatura única confiável divulgada publicamente para todas as variantes de payload possíveis — o template Nuclei público cobre um caso de teste específico, mas variações do payload podem escapar de regras WAF genéricas baseadas apenas nesse padrão. Monitorar tráfego de saída anômalo do dispositivo (conexões a IPs externos não relacionados ao SMTP configurado) é um sinal complementar útil.