CVE-2017-6743
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply updates per vendor instructions.
Resumo
Falha de buffer overflow (CWE-119) no subsistema SNMP do Cisco IOS e IOS XE que permite execução remota de código ou reload do dispositivo. Faz parte de um lote de nove CVEs (CVE-2017-6736 a CVE-2017-6744) publicadas no mesmo advisory da Cisco, todas com a mesma causa raiz — processamento de determinadas MIBs SNMP habilitadas por padrão. Está no catálogo KEV da CISA, o que confirma exploração em ambiente real, mas a pré-condição de autenticação SNMP (community string ou credenciais v3) limita bastante a superfície de exposição direta pela internet.
Detalhamento técnico
A causa é um estouro de buffer no código que processa requisições SNMP (get/set) contra objetos específicos de determinadas MIBs. O advisory da Cisco lista um conjunto de MIBs afetadas — ADSL-LINE-MIB, ALPS-MIB, CISCO-ADSL-DMT-LINE-MIB, CISCO-AUTH-FRAMEWORK-MIB, CISCO-BSTUN-MIB, CISCO-MAC-AUTH-BYPASS-MIB, CISCO-SLB-EXT-MIB, CISCO-VOICE-DNIS-MIB, CISCO-VOICE-NUMBER-EXPANSION-MIB e TN3270E-RT-MIB — todas habilitadas automaticamente quando o SNMP é ativado no dispositivo, independente de o operador usar essas funcionalidades. O advisory trata as nove CVEs em conjunto e não publica um mapeamento público de qual CVE corresponde a qual MIB/OID específico; por isso não é possível afirmar com precisão qual objeto SNMP dispara exatamente o CVE-2017-6743 sem acesso ao patch da Cisco.
Como é explorada
O vetor é um pacote SNMP (get, getnext, set, ou similar, dependendo do OID/MIB alvo) enviado via IPv4 ou IPv6 diretamente ao endereço de gerência do dispositivo. Para SNMPv1/v2c o atacante precisa conhecer a community string de leitura (read-only já basta, segundo o próprio advisory); para SNMPv3 precisa de credenciais de usuário válidas no dispositivo. Isso torna a exploração dependente de reconhecimento prévio ou de credenciais fracas/padrão/vazadas — não é um ataque anônimo direto contra a internet.
A Cisco classificou o vetor de ataque como funcional (E:F no vetor temporal do CVSS) já em 2017, indicando exploit conhecido e funcional na época da divulgação. O sucesso da exploração dá controle total do dispositivo (execução de código arbitrário) ou, na falha, causa reload — ou seja, tanto comprometimento total quanto negação de serviço são resultados possíveis dependendo da estabilidade do overflow.
A inclusão no catálogo KEV da CISA em março de 2022, cinco anos após a publicação, sugere reaproveitamento da falha em campanhas contra dispositivos legados que nunca foram corrigidos — cenário comum em roteadores de borda e equipamentos de operadoras com SNMP mal segmentado e strings de comunidade antigas ainda em uso.
Versões
Como se proteger
A correção definitiva é atualizar para uma versão fixa do Cisco IOS ou IOS XE, verificada através do Cisco IOS Software Checker referenciado no próprio advisory — a Cisco não publicou uma tabela textual simples de versões corrigidas, distribuindo essa informação via ferramenta própria vinculada ao Bug ID de cada plataforma. Sem acesso a essa ferramenta com o hardware/versão específicos, não é seguro afirmar uma versão fixa genérica.
Quando a atualização não é viável de imediato, a Cisco publicou workaround: excluir explicitamente do agente SNMP as MIBs listadas (ADSL-LINE-MIB, ALPS-MIB, CISCO-ADSL-DMT-LINE-MIB, CISCO-AUTH-FRAMEWORK-MIB, CISCO-BSTUN-MIB, CISCO-MAC-AUTH-BYPASS-MIB, CISCO-SLB-EXT-MIB, CISCO-VOICE-DNIS-MIB, CISCO-VOICE-NUMBER-EXPANSION-MIB, TN3270E-RT-MIB), já que todas ficam habilitadas por padrão mesmo sem uso. Esse workaround reduz a superfície de ataque sem quebrar SNMP como um todo, mas exige aplicar a lista completa de exclusão — um subconjunto não cobre as demais CVEs do mesmo advisory.
Controles compensatórios adicionais, não substitutos do patch: restringir acesso SNMP por ACL a hosts de gerência confiáveis, usar SNMPv3 com autenticação e privacidade em vez de v1/v2c, e rotacionar/eliminar community strings padrão ou fracas. Apenas restringir por ACL não elimina o risco se a lista de origem confiável já estiver comprometida ou for ampla demais — é mitigação de superfície, não da falha em si.
Como detectar
Não há assinatura de rede documentada publicamente e específica para o CVE-2017-6743 isoladamente, já que o advisory trata o overflow em conjunto com outras oito CVEs sem detalhar payloads. Como indício geral: monitorar logs SNMP do dispositivo por requisições incomuns contra OIDs das MIBs listadas no advisory, tentativas repetidas de autenticação SNMPv1/v2c com community strings inválidas ou brute-force de credenciais SNMPv3, e reloads inesperados coincidindo com tráfego SNMP recebido de origens não usuais na interface de gerência. Ausência de logging SNMP detalhado na maioria das configurações padrão de IOS torna a detecção retroativa pouco confiável.