CVE-2017-12231
Prioriza la corrección. Ella está bajo explotación confirmada por CISA.
Apply updates per vendor instructions.
Resumen
Falha de negação de serviço na implementação de NAT do Cisco IOS: um pacote H.323 RAS malformado, ao passar por um NAT ALG habilitado para esse protocolo, provoca crash e reload do dispositivo. Não exige autenticação nem acesso privilegiado — só que o roteador esteja fazendo NAT com o ALG de H.323 RAS ativo, que é o padrão de fábrica quando NAT está configurado. Está no catálogo KEV da CISA, com exploração confirmada em campo, o que eleva a prioridade mesmo sendo uma vulnerabilidade de 2017.
Detalle técnico
A causa raiz é um erro de tratamento (CWE-399, Resource Management Errors) no código do Application Layer Gateway (ALG) de NAT que traduz mensagens H.323 RAS (Registration, Admission, and Status). O ALG precisa inspecionar e reescrever endereços/portas embutidos no payload H.323 — que usa ASN.1/PER, um formato de codificação binário complexo — para que a tradução de NAT funcione com esse protocolo de sinalização de VoIP. Um pacote RAS construído de forma inválida ou fora do esperado pelo parser leva a uma condição de erro não tratada, causando o crash do processo e reload do IOS.
O atacante controla o conteúdo do pacote H.323 RAS enviado via IPv4 ao endereço que o dispositivo está traduzindo. Não há necessidade de sessão de VoIP legítima estabelecida nem de autenticação — o pacote só precisa atravessar o caminho de tradução NAT do roteador.
A Cisco atribuiu CVSS base 8.6 (AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H) no advisory original, com Scope Changed porque o impacto (crash do processo de encaminhamento) afeta o componente NAT/ALG além do escopo isolado da falha. O NVD registra a métrica com Scope Unchanged (7.5), o que explica a diferença de score entre as duas fontes — é uma questão de interpretação do escopo, não de gravidade divergente do impacto real (DoS total do dispositivo).
Cómo se explota
O vetor é puramente de rede: o atacante envia um pacote H.323 RAS malformado por IPv4 através do dispositivo Cisco IOS vulnerável. Não é necessário estar autenticado no dispositivo, ter acesso à sua interface de gerência, nem controlar um endpoint H.323 legítimo — só é preciso que o pacote atravesse a interface onde o NAT com ALG H.323 RAS está ativo. Isso torna a exploração de baixa complexidade e viável a partir de qualquer origem que consiga rotear tráfego pelo roteador.
A pré-condição que a manchete omite é decisiva: o dispositivo precisa estar configurado para NAT (ip nat inside/outside) e o ALG de H.323 RAS precisa estar habilitado — o que é o comportamento padrão quando NAT está ligado, mas pode ter sido desativado explicitamente com 'no ip nat service ras'. Dispositivos que fazem NAT via NAT Virtual Interface ou via cliente Cisco Easy VPN Remote não são afetados, segundo a Cisco. IOS XE, IOS XR e NX-OS também estão fora do escopo.
A presença no catálogo KEV da CISA (adicionada em março de 2022, com prazo de correção em 24/03/2022) confirma exploração ativa observada, embora não haja detalhamento público sobre campanhas específicas ou atribuição de atores nas fontes consultadas.
Versiones
Cómo protegerse
A correção definitiva é atualizar para uma versão fixa do Cisco IOS Software. A lista exata de trens/versões corrigidos consta na seção 'Fixed Software' do advisory da Cisco (cisco-sa-20170927-nat) — verifique a release notes e o Cisco Software Checker para o trem específico em uso, pois este advisório integra a publicação semestral de setembro de 2017 e cobre múltiplos trens do IOS de forma granular.
Se não for possível atualizar imediatamente, a própria Cisco publica um workaround: desabilitar o ALG de H.323 RAS no NAT com o comando 'no ip nat service ras'. Isso remove a superfície de ataque específica desta falha, mas tem custo funcional — qualquer tradução NAT dependente desse ALG para sinalização H.323/VoIP deixa de funcionar corretamente, o que pode quebrar cenários de telefonia IP atrás do NAT.
Atenção a um mito operacional: como o ALG vem habilitado por padrão e não aparece na running-config quando ativo, muitos administradores acreditam estar 'sem H.323 configurado' simplesmente porque não veem uma linha explícita — é preciso checar ativamente com 'show running-config | include ip nat service ras' para confirmar o estado real, já que ausência de saída significa ALG habilitado, não desabilitado.
Cómo detectar
Não há assinatura de payload divulgada publicamente nas fontes consultadas. Na prática, o sinal mais direto de tentativa de exploração é o próprio efeito: crash inesperado e reload do dispositivo, correlacionado no log com recebimento de tráfego H.323 RAS (porta UDP 1719, tipicamente) pouco antes do evento. Monitorar syslog do IOS por reloads não programados e capturar tráfego H.323 RAS nas interfaces com NAT ativo é a abordagem viável na ausência de uma assinatura oficial de IDS/IPS documentada nas fontes.