← voltar
CVE-2017-3881criticalsob ataqueCWE-20

CVE-2017-3881

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 à arma0 dias
Publicada no NVD17 de mar.
1ª PoC30 de mar.
metasploit17 de mar.
CISA KEV+1834d
probabilidade de exploração
99%top 1% das CVEs
exploração observada
simCISA + VulnCheck
15 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-04-15

Apply updates per vendor instructions.

Resumo

Falha de execução remota de código não autenticada no processamento do Cluster Management Protocol (CMP) sobre Telnet em switches Cisco Catalyst e outros equipamentos com IOS/IOS XE. O CVSS 9.8 é real, mas a exploração depende de uma pré-condição frequentemente ignorada: o dispositivo precisa estar configurado para aceitar conexões Telnet (vty com transport input telnet) — algo cada vez mais raro em redes que migraram para SSH, mas ainda comum em switches de acesso legados.

Detalhamento técnico

O CMP é um protocolo interno da Cisco usado para comunicação de sinalização e comando entre membros de um cluster de switches, e ele reaproveita a sessão Telnet como canal de transporte, com opções específicas de Telnet (suboptions) carregando dados de CMP. O bug tem duas causas combinadas, como o próprio advisory descreve: (1) o dispositivo não restringe o processamento dessas opções CMP a comunicações internas entre membros do cluster — ele aceita e processa a suboption CMP em qualquer conexão Telnet recebida, inclusive de fora da rede de gerência; e (2) o parsing dessa suboption não valida corretamente o tamanho/formato dos dados recebidos.

Na prática, a suboption CMP (identificada no PoC público pelo código IAC SB 0x24) é processada com um buffer de tamanho fixo na pilha, sem checagem de limites — um buffer overflow clássico (CISA classifica como CWE-20, validação de entrada insuficiente, mas o efeito observado é overflow de pilha em arquitetura PowerPC). O atacante controla integralmente o payload enviado durante a negociação de opções Telnet, antes de qualquer autenticação, o que dá controle sobre dados que sobrescrevem o stack, incluindo endereços de retorno.

O PoC público de Artem Kondratenko (base do módulo em exploit-db e do Metasploit) demonstra isso construindo uma cadeia de ROP com gadgets do próprio binário IOS para redirecionar a função is_cluster_mode e forçar o retorno de nível de privilégio 15, criando uma sessão Telnet 'credless' com privilégio máximo — ou, alternativamente, apenas travando o processo e forçando reload do dispositivo.

Como é explorada

O vetor é uma conexão TCP na porta 23 (Telnet) do dispositivo afetado. Não há autenticação prévia necessária: o payload malformado é enviado durante a fase de negociação de opções Telnet, antes do prompt de login, então o atacante não precisa de credenciais válidas — só de alcance de rede até a porta Telnet. A pré-condição real e frequentemente omitida nas manchetes é essa: o Telnet precisa estar habilitado nas linhas vty do equipamento. Dispositivos configurados apenas com SSH (transport input ssh) não expõem esse vetor.

A exploração pública, disponível desde 2017 (exploit-db 41872/41874, módulo Metasploit, template Nuclei), tem baixa complexidade para quem tem o binário/versão de IOS correspondente aos endereços de gadget usados no PoC — a cadeia de ROP é sensível à versão exata da imagem IOS, já que os endereços dos gadgets mudam entre releases e plataformas (PowerPC vs outras arquiteturas), então adaptar o exploit para uma versão diferente exige reengenharia dos offsets. Mesmo assim, o resultado documentado é: obtenção de shell com privilégio 15 (equivalente a admin total) sem qualquer credencial, ou, na variante mais simples, apenas provocar reload do equipamento (negação de serviço).

A CVE está no catálogo KEV da CISA (adicionada em 25/03/2022, prazo de correção 15/04/2022), confirmando exploração ativa observada, embora a CISA não classifique isso como associado a campanhas de ransomware conhecidas.

Versões

Afetadas
Múltiplas famílias Cisco IOS e IOS XE em switches Catalyst (2960, 2960-X, 2960-XR, 2970, 2975, 3550, 3560 e variantes), Embedded Service 2020, módulos Enhanced Layer 2 EtherSwitch, entre outros, quando configurados para aceitar conexões Telnet — a lista completa de releases vulneráveis por plataforma está no advisory oficial e não pôde ser resumida em uma única faixa de versão a partir das fontes disponíveis.
Corrigidas em
Não há uma versão fixa única; a Cisco publica releases corrigidas por plataforma/trem de IOS, determinadas via a ferramenta Cisco Software Checker vinculada ao advisory cisco-sa-20170317-cmp. Consulte o advisory para a versão corrigida específica do modelo em uso.

Como se proteger

O advisory da Cisco (cisco-sa-20170317-cmp) afirma explicitamente que não existe workaround que corrija a falha em si — a correção definitiva é atualizar para uma versão fixa de IOS/IOS XE, específica por plataforma e trem de release, indicada pela ferramenta Cisco Software Checker referenciada no próprio advisory. Não foi possível confirmar aqui uma faixa única de versões vulneráveis/corrigidas válida para todos os modelos afetados (Catalyst 2960, 2970, 2975, 3550, 3560 e outros) — a lista de imagens afetadas e corrigidas é extensa e varia por hardware; consulte o advisory oficial e o Software Checker para o modelo/versão específico em uso.

Como controle compensatório real quando a atualização não é viável, desabilitar Telnet nas linhas vty (deixando apenas SSH) elimina o vetor de ataque, já que a falha depende inteiramente da negociação de opções Telnet. Isso não corrige o bug subjacente no código CMP, mas remove a superfície de exploração acessível remotamente. Restringir acesso às portas de gerência (Telnet/SSH) por ACL a hosts de gerência confiáveis reduz ainda mais a exposição.

O que não funciona: assumir que estar 'atrás de firewall' de borda mitiga o risco — switches de acesso costumam estar expostos a segmentos internos amplos, e o ataque só precisa de alcance à porta 23 do equipamento, não à internet.

Como detectar

Em nível de rede, monitorar sessões Telnet (TCP/23) para dispositivos Cisco em busca de sequências de negociação de opções fora do padrão — especificamente suboptions Telnet contendo o marcador de opção CMP (IAC SB 0x24) com dados de tamanho anômalo ou padrões repetitivos característicos de payloads de overflow/ROP. Reloads inesperados de switches correlacionados com conexões Telnet recentes, ou sessões Telnet que resultam em prompt de privilégio 15 sem autenticação, são indicadores fortes de tentativa ou sucesso de exploração. Não existe assinatura de log nativa do IOS documentada que identifique isso de forma confiável — a detecção depende de inspeção de tráfego Telnet (IDS/IPS com regra para a suboption CMP) ou dos artefatos citados (crash/reload, sessão anômala), já que o próprio ataque ocorre antes de qualquer registro de autenticação.

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.
A vulnerability in the Cisco Cluster Management Protocol (CMP) processing code in Cisco IOS and Cisco IOS XE Software could allow an unauthenticated, remote attacker to cause a reload of an affected device or remotely execute code with elevated privileges. The Cluster Management Protocol utilizes Telnet internally as a signaling and command protocol between cluster members. The vulnerability is due to the combination of two factors: (1) the failure to restrict the use of CMP-specific Telnet options only to internal, local communications between cluster members and instead accept and process such options over any Telnet connection to an affected device; and (2) the incorrect processing of malformed CMP-specific Telnet options. An attacker could exploit this vulnerability by sending malformed CMP-specific Telnet options while establishing a Telnet session with an affected Cisco device configured to accept Telnet connections. An exploit could allow an attacker to execute arbitrary code and obtain full control of the device or cause a reload of the affected device. This affects Catalyst switches, Embedded Service 2020 switches, Enhanced Layer 2 EtherSwitch Service Module, Enhanced Layer 2/3 EtherSwitch Service Module, Gigabit Ethernet Switch Module (CGESM) for HP, IE Industrial Ethernet switches, ME 4924-10GE switch, RF Gateway 10, and SM-X Layer 2/3 EtherSwitch Service Module. Cisco Bug IDs: CSCvd48893.
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.