← back
CVE-2017-12240criticalunder attackCWE-20

CVE-2017-12240

63Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA.

ssvc Actcvss 9.8epss 14%
from disclosure to weapon
Published on NVDSep 28
CISA KEV+1617d
exploitation probability
14%top 4% of all CVEs
observed exploitation
yesCISA + VulnCheck
Action required by CISAfederal deadline: 2022-03-24

Apply updates per vendor instructions.

Summary

Buffer overflow no subsistema de relay DHCP (DHCPv4) do Cisco IOS e IOS XE que permite execução de código arbitrário ou reload forçado (DoS) via pacote malformado, sem autenticação. O CVSS 9.8 é enganoso porque o vetor só existe em dispositivos configurados explicitamente como DHCP relay agent — a maioria dos roteadores/switches Cisco em produção não está nessa condição por padrão.

Technical detail

A falha é classificada como CWE-20 (Improper Input Validation) e ocorre no processamento de pacotes DHCPv4 pelo subsistema de relay. Quando um dispositivo Cisco IOS/IOS XE está atuando como relay agent, ele intercepta pacotes DHCP de clientes, insere o próprio endereço no campo giaddr e reenvia a mensagem ao servidor DHCP configurado. O tratamento de campos/opções desse pacote contém uma condição de buffer overflow — o advisório da Cisco não detalha a estrutura interna exata do bug nem o offset de memória afetado, apenas confirma a natureza do overflow e associa a falha aos bug IDs internos CSCsm45390 e CSCuw77959.

O atacante controla o conteúdo do pacote DHCPv4 enviado ao dispositivo. Não há necessidade de autenticação, interação do usuário ou privilégios prévios — daí AV:N/AC:L/PR:N/UI:N no vetor CVSS. O impacto declarado é confidencialidade, integridade e disponibilidade total (C:H/I:H/A:H), compatível com execução de código no plano de controle do dispositivo de rede.

A Cisco confirma que Cisco IOS XR e NX-OS não são afetados — a falha está isolada à base de código do IOS clássico e do IOS XE.

How it’s exploited

O pré-requisito central, e o dado que a manchete CVSS não transmite, é que o dispositivo precisa estar configurado como DHCP relay agent — via `ip helper-address` (roteadores/switches IOS/IOS XE) ou `cable helper-address` (CMTS). Um dispositivo sem essa configuração simplesmente não processa o pacote no caminho de código vulnerável. A Cisco fornece o comando `show running-config | include ip helper-address` (ou `cable helper-address` em CMTS) para verificar exposição: saída vazia significa que o relay não está ativo.

Com essa configuração presente, o atacante precisa apenas alcançar a interface do dispositivo que recebe tráfego DHCP de clientes — normalmente a rede local/broadcast domain onde os hosts DHCP residem, ou qualquer ponto de onde seja possível endereçar unicast a porta DHCP do relay, dependendo da topologia. Não é necessário estar autenticado no equipamento nem interagir com um usuário. O vetor do CVSS temporal registrado pela Cisco (E:F, RL:O, RC:C) indica que existia código de exploração funcional, correção oficial disponível e confirmação da vulnerabilidade — ou seja, a exploração prática foi validada, não é apenas teórica.

O caso está no catálogo KEV da CISA, mas a data de inclusão (março de 2022) é quase cinco anos posterior à publicação original (setembro de 2017), sugerindo exploração observada tardiamente em ambientes com dispositivos desatualizados, não um exploit lançado no dia zero. O EPSS relativamente baixo (0,139) reflete que a probabilidade de exploração em massa hoje é moderada, coerente com a pré-condição de configuração específica limitando o universo de alvos.

Versions

Affected
Cisco IOS 12.2 até 15.6, e Cisco IOS XE Software, quando o dispositivo está configurado como DHCP relay agent (comandos ip helper-address ou cable helper-address). Cisco IOS XR e NX-OS confirmadamente não são afetados.
Fixed in
Não apurado com precisão nas fontes disponíveis — o advisory oficial da Cisco remete à seção "Fixed Software" (tabela por trem de release), cujo conteúdo detalhado não estava disponível no material consultado. Consultar diretamente cisco-sa-20170927-dhcp ou o Cisco Software Checker para a versão exata por plataforma.

How to protect

A Cisco declara explicitamente que não existe workaround para esta vulnerabilidade — a única mitigação real é atualizar para uma versão corrigida do Cisco IOS ou IOS XE Software, listada na seção "Fixed Software" do advisory oficial (cisco-sa-20170927-dhcp). Não foi possível confirmar nesta pesquisa os números exatos de versão corrigida por trem de release; consulte diretamente o advisory ou o Cisco Software Checker para o hardware/trem específico antes de assumir que uma atualização resolve o problema.

Como controle compensatório até a atualização, o único mitigador funcional é desabilitar a configuração de DHCP relay (remover `ip helper-address` ou `cable helper-address`) nas interfaces expostas, o que elimina o caminho de código vulnerável — mas tem custo operacional real: hosts em subredes que dependem do relay para obter IP via DHCP deixam de conseguir, exigindo um servidor DHCP local por segmento ou outra forma de encaminhamento.

Não há mitigação via ACL de camada 3/4 confiável, porque o tráfego DHCP legítimo (portas 67/68) é o próprio vetor de ataque — filtrar a porta quebra a função de relay tanto quanto desabilitá-la. Não considere a ausência de exposição direta à internet como mitigação suficiente: o vetor típico está dentro da rede interna, onde qualquer host comprometido no mesmo domínio de broadcast pode atingir o relay agent.

How to detect

Sinais de tentativa de exploração incluem reloads inesperados ou crashes recorrentes em dispositivos com DHCP relay configurado, especialmente correlacionados a picos de tráfego DHCPv4 anômalo nas interfaces com `ip helper-address`/`cable helper-address` ativo. Mensagens de syslog relacionadas a falhas no processo de relay DHCP ou crash dumps mencionando o subsistema DHCP merecem investigação.

Não há assinatura pública confiável de payload (a Cisco não publicou detalhes do buffer overflow nem um IOC de rede específico), então a detecção depende primariamente de monitoramento de estabilidade do dispositivo (reloads não programados) e de inspeção de pacotes DHCPv4 malformados ou com opções fora do padrão destinados a interfaces relay — não existe padrão de assinatura definitivo disponível nas fontes consultadas.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
The DHCP relay subsystem of Cisco IOS 12.2 through 15.6 and Cisco IOS XE Software contains a vulnerability that could allow an unauthenticated, remote attacker to execute arbitrary code and gain full control of an affected system. The attacker could also cause an affected system to reload, resulting in a denial of service (DoS) condition. The vulnerability is due to a buffer overflow condition in the DHCP relay subsystem of the affected software. An attacker could exploit this vulnerability by sending a crafted DHCP Version 4 (DHCPv4) packet to an affected system. A successful exploit could allow the attacker to execute arbitrary code and gain full control of the affected system or cause the affected system to reload, resulting in a DoS condition. Cisco Bug IDs: CSCsm45390, CSCuw77959.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H