← voltar
CVE-2018-0172highsob ataqueCWE-20

CVE-2018-0172

51Vexday Risk Score

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

ssvc Actcvss 8.6epss 7.8%
da publicação à arma
Publicada no NVD28 de mar.
CISA KEV+1436d
probabilidade de exploração
7.8%top 6% das CVEs
exploração observada
simCISA + VulnCheck
Ação exigida pela CISAprazo federal: 2022-03-17

Apply updates per vendor instructions.

Resumo

Falha de heap overflow no processamento de encapsulamento da opção 82 do DHCP relay agent em Cisco IOS e IOS XE. Um atacante não autenticado na rede pode enviar um pacote DHCPv4 malformado e forçar o reload do dispositivo, causando negação de serviço. Está no catálogo KEV da CISA com exploração confirmada, mas só afeta equipamentos configurados como relay agent com opção 82 habilitada — não é toda instalação IOS/IOS XE.

Detalhamento técnico

A causa raiz (CWE-20, validação de entrada incompleta) está na rotina de encapsulamento de option 82 do relay agent DHCPv4 do IOS/IOS XE. Quando o relay recebe um DHCP discover contendo uma option 82 do cliente e está configurado para encapsulá-la, o código gera uma nova option 82 e usa memmove para deslocar a option 82 original (e os dados subsequentes) para abrir espaço antes de inserir a nova option 82 no início do buffer.

O problema, descrito pela pesquisa da Tenable (TRA-2018-06), é que se a option 82 fornecida pelo cliente estiver posicionada no final de um bloco de heap, o memmove grava além dos limites daquele bloco, corrompendo a próxima estrutura alocada no heap. É um heap buffer overflow clássico: o atacante controla o conteúdo e, indiretamente, o posicionamento da option 82 dentro do pacote DHCP, o suficiente para acionar a escrita fora de limites.

A vulnerabilidade está relacionada a duas outras no mesmo subsistema (CVE-2018-0173 e CVE-2018-0174), também descobertas pela Tenable ao pesquisar o CVE-2017-12240: todas envolvem aritmética de ponteiros ou cópias de memória malfeitas na lógica de encapsulamento/remoção da option 82 do relay DHCPv4. As três compartilham o mesmo vetor de entrada — pacotes DHCPv4 crafted — mas mecanismos de corrupção distintos.

O impacto documentado é reload do dispositivo (DoS), não execução de código — nem o fornecedor nem a Tenable relataram RCE demonstrado para este CVE especificamente.

Como é explorada

O vetor é um pacote DHCPv4 (discover) enviado ao dispositivo vulnerável contendo uma option 82 elaborada para cair no final de um bloco de heap — a Tenable menciona especificamente o uso de uma mensagem DHCP discover de 0x2000 bytes com a option 82 posicionada no fim do bloco para provocar o overflow. Não requer autenticação nem interação do usuário (UI:N), e o AV:N/AC:L do vetor CVSS refletem isso: qualquer host capaz de enviar tráfego DHCP ao relay agent pode tentar.

A pré-condição real, e é o ponto que a nota do CVSS/KEV não deixa óbvio: o dispositivo precisa estar configurado como DHCP relay agent (comando ip helper-address ou, em cBR-8, cable helper-address) E ter habilitada a inserção de option 82 E a encapsulação de option 82 recebida de outros relay agents (ip dhcp relay information policy encapsulate). Sem essas três configurações simultâneas, o caminho de código vulnerável nunca é executado. Isso restringe bastante o universo de exposição real em comparação com 'todo equipamento Cisco IOS'.

A entrada no catálogo KEV da CISA indica exploração confirmada em ambiente real, mas os detalhes públicos de exploração ativa (quem, contra o quê, com que payload) não estão nas fontes consultadas. O resultado de uma exploração bem-sucedida é queda/reload do dispositivo — impacto de disponibilidade em roteador ou switch, potencialmente crítico em ambientes industriais (o CVE foi incluído em advisories ICS-CERT para switches Rockwell Automation Stratix/ArmorStratix, que embarcam IOS/IOS XE).

Versões

Afetadas
Releases vulneráveis de Cisco IOS Software e Cisco IOS XE Software que atuam como DHCP relay agent com inserção e encapsulação de option 82 habilitadas. A lista exata de trens de release (12.x, 15.x, IOS XE 3.x/16.x) afetados está na seção 'Fixed Software' do advisory cisco-sa-20180328-dhcpr1 e deve ser verificada via Cisco Software Checker — não constava nos materiais consultados para esta página. Para equipamentos Rockwell Automation que embarcam IOS/IOS XE: Stratix 5400, 5410, 5700, 8000 e ArmorStratix 5700 em versões 15.2(6)E0a e anteriores; Stratix 8300 em versões 15.2(4a)EA5 e anteriores (segundo ICSA-18-107-04 e ICSA-18-107-05).
Corrigidas em
Cisco publicou atualizações de software corrigindo o CVE-2018-0172, referenciadas no bug ID CSCvg62730; as versões específicas fixas por trem de release não foram detalhadas nas fontes disponíveis e devem ser obtidas na seção 'Fixed Software' do advisory oficial ou via Cisco Software Checker.

Como se proteger

O advisory da Cisco (cisco-sa-20180328-dhcpr1) afirma explicitamente que não há workaround: 'There are no workarounds that address this vulnerability.' A única correção é atualizar para uma versão corrigida do Cisco IOS ou IOS XE — a lista exata de releases fixas está na seção 'Fixed Software' do advisory oficial e deve ser confirmada com a ferramenta Cisco Software Checker, pois as versões variam por trem de release (12.2, 15.x, IOS XE 3.x/16.x) e não foram enumeradas nos materiais disponíveis para esta análise.

Como controle compensatório até a atualização: desabilitar a encapsulação de option 82 (remover 'ip dhcp relay information policy encapsulate' ou o equivalente por interface) elimina o caminho de código vulnerável, já que a falha só ocorre quando o encapsulamento está ativo. Isso tem custo funcional — perde-se a capacidade de preservar a option 82 de relay agents upstream — mas é um paliativo real, não um mito. Restringir quem pode enviar pacotes DHCP ao dispositivo (ACLs, isolamento de VLAN de gerenciamento) reduz a superfície, mas não corrige a falha em si.

Para os produtos Rockwell Automation Stratix/ArmorStratix (que embarcam IOS/IOS XE), os advisories ICS-CERT ICSA-18-107-04 e ICSA-18-107-05 apontam que switches nas versões 15.2(6)E0a e anteriores (Stratix 5400/5410/5700/8000, ArmorStratix 5700) e 15.2(4a)EA5 e anteriores (Stratix 8300) usam versão vulnerável do IOS/IOS XE e possuem atualizações disponíveis pelo canal do fornecedor do equipamento.

Como detectar

Nenhuma das fontes consultadas (Cisco, Tenable, ICS-CERT) descreve assinatura de rede, mensagem de log ou IOC específico para detectar tentativas de exploração deste CVE. Como indício indireto, reloads inesperados de dispositivos configurados como DHCP relay agent com encapsulação de option 82 habilitada, correlacionados com tráfego DHCPv4 anômalo (pacotes discover de tamanho atípico, próximo do limite de MTU, com option 82 grande) merecem investigação, mas não há confirmação de que esse padrão seja um indicador confiável e exclusivo de exploraçã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 DHCP option 82 encapsulation functionality of Cisco IOS Software and Cisco IOS XE Software could allow an unauthenticated, remote attacker to cause an affected device to reload, resulting in a denial of service (DoS) condition. The vulnerability exists because the affected software performs incomplete input validation of option 82 information that it receives in DHCP Version 4 (DHCPv4) packets from DHCP relay agents. An attacker could exploit this vulnerability by sending a crafted DHCPv4 packet to an affected device. A successful exploit could allow the attacker to cause a heap overflow condition on the affected device, which will cause the device to reload and result in a DoS condition. Cisco Bug IDs: CSCvg62730.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H