CVE-2023-20198
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
Verify that instances of Cisco IOS XE Web UI are in compliance with BOD 23-02 and apply mitigations per vendor instructions. For affected products (Cisco IOS XE Web UI exposed to the internet or to untrusted networks), follow vendor instructions to determine if a system may have been compromised and immediately report positive findings to CISA.
Summary
Falha de escalonamento de privilégio (CWE-420, uso de canal alternativo) na feature Web UI do Cisco IOS XE que permite a um atacante remoto e não autenticado criar uma conta local com privilege level 15 — controle administrativo completo do dispositivo. Foi explorada em massa em outubro de 2023 para implantar backdoor persistente em milhares de roteadores e switches expostos à internet, antes mesmo da publicação do CVE.
Technical detail
A Web UI do IOS XE é uma ferramenta de gerenciamento embutida, presente na imagem padrão do software (não precisa de licença ou instalação extra), habilitada pelos comandos ip http server ou ip http secure-server. O CVE-2023-20198 reside num componente dessa interface que expõe um endpoint acessível sem autenticação, através do qual um atacante consegue injetar um comando de configuração com privilégio 15 — o nível mais alto do IOS, equivalente a enable no CLI.
A Cisco não detalhou publicamente o endpoint exato ou o mecanismo de bypass de autenticação usado internamente pela Web UI (não há divulgação técnica de baixo nível do fornecedor). O que se sabe pelo próprio advisory é que o atacante usa essa falha apenas para o acesso inicial: cria um usuário/senha local via comando executado com privilégio 15, obtendo login com acesso de usuário normal no sistema. A escalada de root e a escrita do implante no filesystem dependem de uma segunda falha, o CVE-2023-20273, que é um componente diferente da Web UI explorado depois — ou seja, o CVE-2023-20198 isolado dá persistência de conta administrativa, não execução arbitrária de código por si só.
O vetor de exploração exige apenas que a Web UI esteja habilitada e alcançável na rede (HTTP ou HTTPS). Não há pré-requisito de autenticação, interação do usuário ou configuração não padrão além de a interface estar ativa — o que torna o vetor de ataque amplo, já que a Web UI vem habilitada em muitas implantações e é comumente exposta por engano à internet.
O CVSS 10.0 reflete exatamente esse cenário: rede pública, baixa complexidade, sem privilégio nem interação, com impacto total em confidencialidade, integridade e disponibilidade do dispositivo — que nesse caso é infraestrutura de rede, não um servidor de aplicação qualquer.
How it’s exploited
A exploração observada pela Cisco Talos seguiu um padrão de duas etapas: primeiro o CVE-2023-20198 era usado para criar um usuário local arbitrário com privilégio 15 (contas com nomes como cisco_tac_admin e cisco_support foram observadas), dando acesso de login normal. Em seguida, os atacantes usavam esse usuário recém-criado para explorar o CVE-2023-20273 e escalar para root, gravando um implante no sistema de arquivos do dispositivo — efetivamente controle total e persistente do roteador/switch.
O único pré-requisito real é que a Web UI (ip http server e/ou ip http secure-server) esteja habilitada e acessível pelo atacante — não há necessidade de credenciais, VPN, ou configuração incomum. Dispositivos com a Web UI restrita a redes de gerenciamento internas e não expostos à internet não são alcançáveis por este vetor externamente, mas seguem vulneráveis a qualquer atacante que já tenha pé na rede interna.
A campanha de exploração massiva em outubro de 2023 comprometeu dezenas de milhares de dispositivos Cisco IOS XE expostos publicamente antes da divulgação da falha (exploração em zero-day). Está no catálogo KEV da CISA com prazo de correção de apenas 4 dias (adicionado em 2023-10-16, due date 2023-10-20), refletindo a gravidade e a exploração ativa confirmada. Existem módulo Metasploit, template Nuclei e PoC pública, o que baixou ainda mais a barreira técnica para replicar o ataque depois da divulgação.
Versions
How to protect
Não existe workaround que corrija a vulnerabilidade em si — a única correção real é aplicar a versão de software fixa indicada pela Cisco para a linha/release específica do IOS XE em uso (consultar o Cisco Software Checker vinculado ao advisory, pois as versões corrigidas variam por trem de release e não foram fixadas aqui a partir das fontes disponíveis).
Como mitigação imediata quando não é possível atualizar, a Cisco recomenda desabilitar a feature Web UI com os comandos no ip http server e/ou no ip http secure-server (é preciso desabilitar ambos se ambos estiverem configurados) — isso elimina completamente o vetor de ataque, ao custo de perder a interface de gerenciamento gráfica. Alternativamente, restringir o acesso à Web UI a redes confiáveis via ACL (ip http access-class associada a uma access-list) reduz a exposição, mas não elimina o risco caso o atacante já tenha acesso à rede de gerenciamento.
Não confiar apenas em firewall de borda como mitigação suficiente: dispositivos com Web UI exposta em qualquer segmento acessível ao atacante — inclusive internamente — permanecem vulneráveis. Após corrigir ou mitigar, é essencial verificar indícios de comprometimento anterior (ver seção de detecção), já que a exploração massiva ocorreu antes da divulgação pública e pode ter deixado implantes mesmo em sistemas já corrigidos posteriormente.
How to detect
A Cisco e o Talos publicaram indicadores de comprometimento específicos: mensagens de log %SYS-5-CONFIG_P referenciando o processo SEP_webui_wsma_http com usuários desconhecidos ou não administrados pela equipe de rede (nomes observados incluem cisco_tac_admin e cisco_support), mensagens %SEC_LOGIN-5-WEBLOGIN_SUCCESS com IP de origem suspeito, e %WEBUI-6-INSTALL_OPERATION_INFO referenciando arquivos desconhecidos. Há também um comando curl fornecido pela Cisco Talos para verificar remotamente a presença do implante, testando o endpoint /webui/logoutconfirm.html com um header de autorização específico — uma resposta hexadecimal indica implante presente.
A Cisco disponibilizou Snort rule IDs dedicados: 3:62541 e 3:62542 para tentativas de exploração do CVE-2023-20198 (acesso inicial), 3:50118 para injeção do implante (CVE-2023-20273), e 3:62527/3:62528/3:62529 para interação com o implante já instalado — sinais confiáveis quando há sensor Snort/Firepower na rede monitorando o tráfego para a Web UI.