← voltar
CVE-2023-28771criticalsob ataqueCWE-78

CVE-2023-28771

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 9.8epss 99%
da publicação à arma28 dias
Publicada no NVD25 de abr.
1ª PoC+28d
metasploit31 de mar.
CISA KEV+36d
probabilidade de exploração
99%top 1% das CVEs
exploração observada
simCISA + VulnCheck
4 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2023-06-21

Apply updates per vendor instructions.

Resumo

Falha de injeção de comandos OS (CWE-78) nos firewalls Zyxel das linhas ATP, USG FLEX, VPN e ZyWALL/USG, explorável sem autenticação através de pacotes manipulados enviados ao dispositivo. O ponto de entrada é o decodificador de pacotes IKE (usado na negociação de VPN IPsec), que trata mensagens de erro de forma inadequada e permite que dados controlados pelo atacante cheguem a um comando de sistema. Está no catálogo KEV da CISA com exploração confirmada e existe módulo Metasploit público, o que reduz a barreira técnica para exploração massiva.

Detalhamento técnico

A vulnerabilidade está no processamento de pacotes IKE (Internet Key Exchange), protocolo usado na fase de negociação de túneis VPN IPsec, tipicamente exposto na porta UDP 500. Segundo a análise pública referenciada (Packet Storm, 'Zyxel IKE Packet Decoder Unauthenticated Remote Code Execution'), o decodificador de pacotes IKE do firmware ZLD trata mal mensagens de erro geradas durante o parsing — o conteúdo de campos do pacote acaba sendo incorporado a uma chamada de sistema sem sanitização adequada, caracterizando um CWE-78 (OS Command Injection).

A descrição oficial da Zyxel fala genericamente em 'improper error message handling', sem detalhar internamente qual rotina ou binário é invocado. Isso é uma lacuna real do advisory: o fornecedor não publicou análise técnica de causa raiz, e o conteúdo técnico mais granular vem de pesquisa de terceiros (TRAPA Security, que reportou a falha, e posteriormente pesquisadores que produziram a PoC pública).

O vetor não exige nenhuma sessão IKE completa ou credencial de VPN — o serviço IKE responde a pacotes de handshake antes de qualquer autenticação, o que é a razão do vetor de ataque ser classificado como AV:N/PR:N/UI:N no CVSS. O atacante controla o conteúdo do pacote IKE malformado; o que ele não controla diretamente é o contexto de execução do comando resultante, mas a natureza de OS command injection tipicamente permite execução arbitrária com os privilégios do processo que trata o IKE (frequentemente root/privilegiado em appliances de firewall).

Como é explorada

O vetor de exploração é rede: envio de pacotes IKE malformados para o serviço de VPN do dispositivo, normalmente exposto na porta UDP 500 (e possivelmente 4500 para NAT-T, embora isso não esteja confirmado nas fontes). Não há pré-requisito de autenticação, de conta VPN válida, ou de configuração não padrão conhecida — o único requisito prático é que o serviço IKE/VPN esteja habilitado e acessível na interface atacada, o que é a configuração padrão em muitos desses appliances quando VPN está em uso.

A existência de módulo Metasploit e de PoC pública, somada à listagem no catálogo KEV da CISA (adicionada em 31/05/2023, com prazo de correção federal de 21/06/2023), indica exploração confirmada em campo, não apenas teórica. Isso é consistente com o padrão observado em campanhas anteriores contra Zyxel, que frequentemente visam esses dispositivos para inclusão em botnets (histórico de campanhas Mirai-like contra a mesma linha de produtos).

O resultado final da exploração é execução de comandos arbitrários no sistema operacional subjacente do firewall — não uma escalada de privilégio local, mas RCE direto pré-autenticação. Dado que esses equipamentos são normalmente expostos diretamente na borda da rede (edge/perímetro), o firewall comprometido dá ao atacante posição de pivô dentro da rede interna protegida por ele.

Versões

Afetadas
ATP, USG FLEX e VPN series: firmware ZLD V4.60 até V5.35. ZyWALL/USG series: firmware ZLD V4.60 até V4.73.
Corrigidas em
ATP, USG FLEX e VPN series: ZLD V5.36. ZyWALL/USG series: ZLD V4.73 Patch 1.

Como se proteger

A correção definitiva é aplicar o patch do fornecedor: ZLD V5.36 para as linhas ATP, USG FLEX e VPN; ZLD V4.73 Patch 1 para a linha ZyWALL/USG. Não há indicação nas fontes de correção via flag de configuração ou desativação parcial de funcionalidade — a Zyxel tratou isso como correção de código, não como opção configurável.

Como controle compensatório quando a atualização não é imediata, a medida com maior efeito é restringir o acesso ao serviço IKE/VPN apenas a IPs de origem confiáveis (peers VPN conhecidos) via ACL na própria interface WAN do dispositivo ou em um firewall upstream, e desabilitar o serviço IKE na interface WAN se a VPN não estiver em uso ativo. Isso reduz drasticamente a superfície de ataque, mas não elimina o risco caso o atacante já tenha acesso à rede de origem permitida.

Não existe mitigação eficaz via WAF, já que o tráfego é UDP/IKE e não HTTP — esse é um mito a descartar caso apareça em discussões de mitigação. Monitoramento de tráfego IKE anômalo (pacotes malformados, campos fora do padrão de negociação) pode ajudar como detecção, mas não substitui a atualização de firmware.

Como detectar

Não há assinatura de detecção confiável publicada pelo fornecedor ou nas fontes consultadas. Como indício, valem logs do próprio firewall com falhas ou erros de parsing de pacotes IKE fora do padrão de negociação normal, reinícios inesperados do serviço de VPN/IKE, ou tráfego UDP na porta 500 (e possivelmente 4500) com origem não correspondente a peers VPN conhecidos e payloads malformados. Na ausência de assinatura oficial de IDS/IPS confirmada nas fontes, a presença de módulo Metasploit sugere que ferramentas de detecção de rede podem ter regras específicas, mas isso não foi verificado diretamente nas fontes lidas.

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.
Improper error message handling in Zyxel ZyWALL/USG series firmware versions 4.60 through 4.73, VPN series firmware versions 4.60 through 5.35, USG FLEX series firmware versions 4.60 through 5.35, and ATP series firmware versions 4.60 through 5.35, which could allow an unauthenticated attacker to execute some OS commands remotely by sending crafted packets to an affected device.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.