CVE-2020-12271
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply updates per vendor instructions.
Resumo
Falha de SQL injection no XG Firewall da Sophos (SFOS 17.0, 17.1, 17.5 e 18.0) que permitia executar comandos no sistema operacional do próprio appliance a partir de um campo de entrada não sanitizado exposto na interface administrativa ou no User Portal. A gravidade real vem do fato de ter sido explorada como zero-day em campanha ativa em abril de 2020, resultando em exfiltração de credenciais locais e instalação de malware persistente ("Asnarök") — não é uma CVE teórica.
Detalhamento técnico
A vulnerabilidade é uma SQL injection clássica (CWE-89): algum componente do painel administrativo (HTTPS admin) ou do User Portal construía consultas contra o banco PostgreSQL interno do firewall concatenando entrada controlada pelo atacante sem parametrização adequada. A Sophos não publicou o parâmetro ou endpoint exato explorado, mas a análise da SophosLabs confirma que a injeção permitia inserir comandos arbitrários em uma tabela do banco, e que esse ponto de entrada estava acessível sem autenticação prévia — a exploração ocorreu contra dispositivos que expunham essas interfaces na zona WAN.
O impacto vai além de leitura de dados: o mecanismo de injeção foi encadeado para conseguir execução de código no sistema operacional do appliance (RCE), não apenas manipulação de linhas no PostgreSQL. Isso indica que alguma rotina do lado do banco ou do processo que consome o resultado da query tinha capacidade de disparar execução de shell — o vetor documentado publicamente foi a gravação de uma linha de comando shell em uma tabela que, subsequentemente, era processada de forma insegura pelo sistema.
O CVSS 3.0 de 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) reflete exploração remota, sem autenticação, sem interação do usuário, com mudança de escopo (do banco para o SO) e impacto total em confidencialidade, integridade e disponibilidade — consistente com o que foi observado em campo.
Como é explorada
Pré-condição essencial, que a nota do CVSS 10.0 esconde: o dispositivo precisa ter o serviço de administração (HTTPS) ou o User Portal expostos diretamente na interface WAN. Em configuração padrão recomendada pelo fornecedor — administração restrita à LAN ou VPN — a superfície de ataque remota não existe. A campanha real de abril de 2020 ("Asnarök") mirou especificamente appliances com essa exposição.
A cadeia de exploração documentada pela SophosLabs começou com a injeção SQL inserindo um comando de uma linha em uma tabela do banco; esse comando disparava o download de um shell script (Install.sh) de um domínio controlado pelo atacante (sophosfirewallupdate[.]com), gravado em /tmp e executado com permissão de execução via chmod. A partir daí o script instalava múltiplos componentes ELF e scripts adicionais para persistência (incluindo modificação de um script legítimo do sistema, generate_curl_ca_bundle.sh, e um processo disfarçado como cssconf.bin, um caractere de diferença do processo legítimo cscconf.bin) e communicação periódica (3 a 6 horas) com infraestrutura externa para exfiltrar dados e receber updates do malware.
O resultado final confirmado foi exfiltração de nomes de usuário e hashes de senha de administradores locais, administradores do portal e contas de acesso remoto — explicitamente não incluindo credenciais de Active Directory ou LDAP externos, já que essas não residem no banco local do appliance. Está no catálogo KEV da CISA com confirmação de exploração ativa, adicionado em 2021-11-03.
Versões
Como se proteger
A Sophos aplicou um hotfix automático a todos os dispositivos com firmware SFOS afetado (linhas 17.0, 17.1, 17.5 e 18.0) a partir de 2020-04-25, distribuído via o mecanismo de atualização automática do próprio XG Firewall — a maioria dos dispositivos online recebeu a correção sem ação manual do administrador. As fontes disponíveis não especificam um número de build/versão pós-correção; a orientação prática é confirmar, no console de administração, que o hotfix foi aplicado e, adicionalmente, seguir os passos de remediação publicados pela Sophos no KBA oficial (verificação de indicadores de comprometimento e reset de credenciais, já que a exposição de hashes por si só justifica rotação).
O controle compensatório real e permanente — independente de patch — é nunca expor a interface de administração HTTPS nem o User Portal diretamente na WAN; restringir esses serviços a uma rede de gestão isolada ou atrás de VPN elimina a superfície de ataque remota descrita na CVE. Isso não é um paliativo temporário: é a configuração recomendada pelo próprio fornecedor independentemente desta falha específica.
O que não funciona como mitigação: assumir que reiniciar o dispositivo remove o comprometimento se ele já foi infectado pelo malware Asnarök — a persistência foi implementada via modificação de scripts do sistema operacional que rodam no boot, então appliances comprometidos antes do hotfix precisam de reset de fábrica e reconfiguração, não apenas atualização de firmware.
Como detectar
Indicadores documentados pela SophosLabs incluem: presença de processo chamado cssconf.bin (um caractere diferente do processo legítimo cscconf.bin) com PPID igual a 1; arquivos em /tmp com nomes como Install.sh, x.sh, .lp.sh, .pg.sh, .n.sh, .a.PGSQL, b, .post_MI; modificação do script do sistema generate_curl_ca_bundle.sh com uma cópia de backup .generate_curl_ca_bundle.sh; e tráfego de rede para os domínios maliciosos sophosfirewallupdate[.]com, sophosproductupdate[.]com e ragnarokfromasgard.com, além do IP 43.229.55.44. A ausência desses artefatos não garante que o dispositivo nunca foi alvo — dispositivos que aplicaram o hotfix antes de serem explorados não apresentarão nenhum desses sinais.