← voltar
CVE-2017-12238mediumsob ataqueCWE-399

CVE-2017-12238

43Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA.

ssvc Attendcvss 6.5epss 2.0%
da publicação à arma
Publicada no NVD28 de set.
CISA KEV+1617d
probabilidade de exploração
2.0%top 20% das CVEs
exploração observada
simCISA + VulnCheck
Ação exigida pela CISAprazo federal: 2022-03-24

Apply updates per vendor instructions.

Resumo

Falha de gerenciamento de memória (CWE-399) no código de VPLS do Cisco IOS que afeta especificamente placas de linha C6800-16P10G/C6800-16P10G-XL em switches Catalyst 6800 com Supervisor Engine 6T. Um atacante adjacente e não autenticado pode forçar a criação massiva de entradas MAC geradas por VPLS e travar a placa de linha, causando DoS. O CVSS moderado (6.5-7.4 dependendo da versão do vetor) esconde um requisito de topologia bem restrito: só importa para quem roda VPLS nessa combinação exata de hardware.

Detalhamento técnico

A vulnerabilidade está no processamento VPLS (Virtual Private LAN Service) do Cisco IOS, especificamente na forma como as placas de linha C6800-16P10G e C6800-16P10G-XL gerenciam a tabela de endereços MAC quando essas entradas são geradas via pseudowires VPLS. O Cisco Bug ID CSCva61927 documenta um problema de gerenciamento de memória (CWE-399) — a Cisco não detalhou publicamente o mecanismo interno exato (se é exaustão de heap, leak ou overflow de estrutura), apenas que o crash é consequência direta do volume de entradas MAC criadas pelo tráfego VPLS.

O atacante não controla código nem payload arbitrário: ele controla o volume e a taxa de geração de endereços MAC aprendidos via VPLS na interface core-facing MPLS da placa afetada. Ao inflar artificialmente essa tabela, esgota-se um recurso interno do processo que gerencia notificações de MAC na placa de linha, levando ao esgotamento de stack de um processo interno.

O indicador de exploração publicado pela Cisco é bem específico: o log do dispositivo registra a mensagem %SYS-DFC1-6-STACKLOW: Stack for process earl_ntfy_dm_thread running low, 0/26000, e o arquivo de crashinfo da placa mostra o processo earl_ntfy_dm_thread com uso de stack igual ao disponível (bytes used = bytes available). Isso indica claramente esgotamento de stack como causa imediata do crash, não corrupção de memória exploravel para execução de código — o impacto é unicamente de disponibilidade (Integrity e Confidentiality permanecem intactos no vetor CVSS: C:N/I:N/A:H).

A Cisco confirmou que Cisco IOS XE, IOS XR e NX-OS não são afetados — o bug é específico da implementação de VPLS no IOS clássico combinada com o hardware dessas placas de linha.

Como é explorada

O vetor de ataque é adjacente (AV:A) — o atacante precisa estar na mesma rede L2/MPLS que o dispositivo vulnerável, tipicamente como peer VPLS ou dentro do domínio de camada 2 atendido pela pseudowire. Não há necessidade de autenticação (PR:N) nem de interação do usuário (UI:N), e a complexidade de ataque é baixa (AC:L): basta gerar um volume grande de endereços MAC que sejam aprendidos via VPLS pela placa de linha alvo.

Pré-condições reais que reduzem drasticamente a superfície: o dispositivo precisa ser um Catalyst 6800 com Supervisor Engine 6T, ter instalada uma placa de linha C6800-16P10G ou C6800-16P10G-XL, essa placa precisa ser a interface core-facing MPLS, e o VPLS precisa estar configurado e ativo (verificável via show vfi). Isso não é uma vulnerabilidade genérica de qualquer switch Cisco — é limitada a uma combinação específica de chassi, supervisor, placa de linha e configuração de serviço.

A CISA incluiu a CVE no catálogo KEV (adicionada em 2022-03-03, com due date 2022-03-24), confirmando exploração ativa observada, embora não haja detalhamento público do ator ou campanha. Não há indicação de uso em ransomware. O resultado da exploração bem-sucedida é sempre DoS — crash e reinicialização da placa de linha afetada, não comprometimento de dados ou execução remota de código.

Versões

Afetadas
Cisco IOS Software 15.0 até 15.4, rodando em Cisco Catalyst 6800 Series Switches equipados com placa de linha C6800-16P10G ou C6800-16P10G-XL, usada como interface core-facing MPLS, com Supervisor Engine 6T e VPLS configurado.
Corrigidas em
A Cisco publicou versões corrigidas na seção 'Fixed Software' do advisório cisco-sa-20170927-vpls; os números exatos de release corrigidos por trem de manutenção não estão disponíveis no conteúdo consultado — consulte o advisório oficial para a versão fixa aplicável ao trem de IOS em uso.

Como se proteger

A Cisco não publicou nenhum workaround para esta vulnerabilidade — o advisory afirma explicitamente 'There are no workarounds that address this vulnerability'. A única remediação é aplicar a atualização de software fixa listada no advisory oficial (a Cisco não detalhou no texto disponível os números exatos de release fixados por trem de IOS; consulte a seção 'Fixed Software' do advisório cisco-sa-20170927-vpls para a versão exata aplicável ao seu hardware).

Como não há mitigação de configuração, controles compensatórios são limitados: restringir quem pode ser peer VPLS adjacente à interface core-facing MPLS reduz a superfície de exposição, mas não elimina o risco se o atacante já está dentro do domínio L2/MPLS confiável (que é justamente o cenário assumido no vetor AV:A). Monitorar overflow ou crescimento anômalo na tabela MAC (show mac address-table count) pode servir de alerta prévio, mas não impede o crash.

O mito a evitar: acreditar que desativar temporariamente apenas parte do VPLS ou reduzir MTU/filtros de tráfego resolve — a Cisco não valida nenhum workaround, e o problema é de gerenciamento de memória interno à placa de linha, não de filtragem de tráfego passível de ACL.

Como detectar

O indicador mais confiável é o log do sistema mostrando a mensagem %SYS-DFC1-6-STACKLOW: Stack for process earl_ntfy_dm_thread running low, 0/26000, gerada quando a exploração já está em curso ou consumada. Após um crash, o arquivo de crashinfo da placa de linha mostra o processo earl_ntfy_dm_thread com stack 'bytes used' igual a 'bytes available', confirmando esgotamento de stack como causa. Não há assinatura de tráfego de rede publicada para detectar a tentativa antes do crash — a única forma preventiva é monitorar o crescimento da tabela MAC associada a VPLS (via show mac address-table e show vfi) para taxas anômalas de aprendizado.

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 Virtual Private LAN Service (VPLS) code of Cisco IOS 15.0 through 15.4 for Cisco Catalyst 6800 Series Switches could allow an unauthenticated, adjacent attacker to cause a C6800-16P10G or C6800-16P10G-XL type line card to crash, resulting in a denial of service (DoS) condition. The vulnerability is due to a memory management issue in the affected software. An attacker could exploit this vulnerability by creating a large number of VPLS-generated MAC entries in the MAC address table of an affected device. A successful exploit could allow the attacker to cause a C6800-16P10G or C6800-16P10G-XL type line card to crash, resulting in a DoS condition. This vulnerability affects Cisco Catalyst 6800 Series Switches that are running a vulnerable release of Cisco IOS Software and have a Cisco C6800-16P10G or C6800-16P10G-XL line card in use with Supervisor Engine 6T. To be vulnerable, the device must also be configured with VPLS and the C6800-16P10G or C6800-16P10G-XL line card needs to be the core-facing MPLS interfaces. Cisco Bug IDs: CSCva61927.
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Produtos afetados
n/a · Cisco IOS