Cisco IOS XR Software Cisco Discovery Protocol Format String Vulnerability
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply updates per vendor instructions.
Resumo
Falha de format string (CWE-134) na implementação do Cisco Discovery Protocol (CDP) no Cisco IOS XR Software, que permite a um atacante adjacente na camada 2 (mesmo domínio de broadcast), sem autenticação, causar um estouro de pilha e executar código arbitrário com privilégios administrativos, ou no mínimo forçar reload do dispositivo. O CVSS 8.8 reflete o impacto total (C:H/I:H/A:H) mas o vetor AV:A já embute a limitação central: exige adjacência de camada 2, e o CDP não vem habilitado por padrão no IOS XR. Está no catálogo KEV da CISA desde novembro de 2021 e existe PoC pública, o que eleva a prioridade em ambientes onde CDP está de fato ativo.
Detalhamento técnico
O CDP é um protocolo proprietário de descoberta de camada 2 usado para troca de informações entre equipamentos Cisco vizinhos (nome de dispositivo, plataforma, capacidades, endereço IP, versão de software, etc.). No parser de mensagens CDP do IOS XR, campos de string vindos do pacote recebido são processados de forma que a validação de entrada é insuficiente — a descrição oficial fala em 'improper validation of string input from certain fields', e o CWE atribuído (134, Uncontrolled Format String) indica que dados controlados pelo atacante acabam sendo interpretados como especificadores de formato ou copiados sem checagem de tamanho, corrompendo a pilha.
Como é explorada
O vetor é um pacote CDP malicioso enviado por um atacante que esteja no mesmo segmento de camada 2 do dispositivo alvo — não há autenticação envolvida (PR:N) e não é necessária interação do usuário (UI:N), mas o requisito de adjacência L2 é o filtro real: o atacante precisa estar conectado à mesma LAN/VLAN ou a um link direto onde CDP trafegue, o que normalmente significa acesso físico à rede interna, um switch comprometido, ou uma porta de acesso mal segmentada. O advisório da Cisco reforça que CDP não é habilitado por padrão no IOS XR — é preciso estar habilitado globalmente E em pelo menos uma interface para o dispositivo ser explorável, condição que reduz bastante a superfície real de exposição em campo.
Existe PoC pública documentada (referência PacketStorm 'CDP Remote Device Takeover') e a CVE está no catálogo KEV da CISA, confirmando exploração observada in-the-wild, embora a CISA marque como 'Unknown' o uso em campanhas de ransomware. Um exploit bem-sucedido dá ao atacante execução de código com privilégios administrativos no plano de controle do roteador — controle total do equipamento de rede, incluindo capacidade de interceptar, redirecionar ou derrubar tráfego que passa por ele.
Versões
Como se proteger
A correção definitiva é atualizar para uma versão fixa do Cisco IOS XR Software; a Cisco não disponibilizou a tabela completa de versões corrigidas por trem de release no texto consultado — é necessário validar a versão exata via Cisco Software Checker ou TAC para a plataforma específica (ASR 9000, CRS, IOS XRv 9000, NCS 540/560/1000/5000/5500/6000). O advisório formalmente declara 'no workarounds available', mas na prática oferece um controle compensatório eficaz: desabilitar CDP globalmente ('no cdp' em modo de configuração global) ou por interface, o que fecha totalmente o vetor de ataque para quem não depende do protocolo. O custo é perder a funcionalidade de descoberta automática de vizinhos Cisco, usada por ferramentas de gerência e diagnóstico de topologia — em redes que dependem disso, desabilitar CDP globalmente pode exigir ajuste operacional; desabilitar apenas nas interfaces voltadas a segmentos não confiáveis (acesso de usuário final, por exemplo) reduz a superfície sem eliminar CDP nos uplinks entre equipamentos Cisco confiáveis. Segmentação de rede e controle de acesso físico à camada 2 não eliminam o risco caso um atacante já tenha pé na LAN, mas reduzem a chance de um atacante externo alcançar o domínio de broadcast necessário.
Como detectar
Para saber se CDP está habilitado (pré-condição de exposição), o comando 'show running-config | include cdp' no IOS XR revela se o protocolo está ativo globalmente e em interfaces — presença das linhas 'cdp' na configuração indica exposição potencial. Não há assinatura de detecção de exploração documentada nas fontes consultadas; na ausência de IDS específico para CDP malformado, os sinais indiretos a observar são reloads inesperados do processo/dispositivo, entradas de crash no syslog do IOS XR coincidindo com tráfego CDP anômalo no segmento L2, e captura de pacotes CDP com campos de string de tamanho ou formato fora do padrão nos segmentos onde o protocolo está habilitado.